1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Bitcode/thinlto-function-summary-functionattrs.ll
Charles Saternos 81929b6bb0 [ThinLTO] Add FunctionAttrs to ThinLTO index
Adds function attributes to index: ReadNone, ReadOnly, NoRecurse, NoAlias. This attributes will be used for future ThinLTO optimizations that will propagate function attributes across modules.

llvm-svn: 310061
2017-08-04 16:00:58 +00:00

28 lines
634 B
LLVM

; RUN: opt -module-summary %s -o %t.o
; RUN: llvm-bcanalyzer -dump %t.o | FileCheck %s
; CHECK: <GLOBALVAL_SUMMARY_BLOCK
; ensure @f is marked readnone
; CHECK: <PERMODULE {{.*}} op0=0 {{.*}} op3=1
; ensure @g is marked readonly
; CHECK: <PERMODULE {{.*}} op0=1 {{.*}} op3=2
; ensure @h is marked norecurse
; CHECK: <PERMODULE {{.*}} op0=2 {{.*}} op3=4
; ensure @i is marked returndoesnotalias
; CHECK: <PERMODULE {{.*}} op0=3 {{.*}} op3=8
define void @f() readnone {
ret void
}
define void @g() readonly {
ret void
}
define void @h() norecurse {
ret void
}
define noalias i8* @i() {
%r = alloca i8
ret i8* %r
}