summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll')
-rw-r--r--llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll27
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll b/llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
new file mode 100644
index 00000000000..2ad49e3c864
--- /dev/null
+++ b/llvm/test/Bitcode/thinlto-function-summary-functionattrs.ll
@@ -0,0 +1,27 @@
+; 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
+}
OpenPOWER on IntegriCloud