1*75da10d1SCharles Saternos; RUN: opt -module-summary %s -o %t.o 2*75da10d1SCharles Saternos; RUN: llvm-bcanalyzer -dump %t.o | FileCheck %s 3*75da10d1SCharles Saternos 4*75da10d1SCharles Saternos; CHECK: <GLOBALVAL_SUMMARY_BLOCK 5*75da10d1SCharles Saternos; ensure @f is marked readnone 6*75da10d1SCharles Saternos; CHECK: <PERMODULE {{.*}} op0=0 {{.*}} op3=1 7*75da10d1SCharles Saternos; ensure @g is marked readonly 8*75da10d1SCharles Saternos; CHECK: <PERMODULE {{.*}} op0=1 {{.*}} op3=2 9*75da10d1SCharles Saternos; ensure @h is marked norecurse 10*75da10d1SCharles Saternos; CHECK: <PERMODULE {{.*}} op0=2 {{.*}} op3=4 11*75da10d1SCharles Saternos; ensure @i is marked returndoesnotalias 12*75da10d1SCharles Saternos; CHECK: <PERMODULE {{.*}} op0=3 {{.*}} op3=8 13*75da10d1SCharles Saternos 14*75da10d1SCharles Saternosdefine void @f() readnone { 15*75da10d1SCharles Saternos ret void 16*75da10d1SCharles Saternos} 17*75da10d1SCharles Saternosdefine void @g() readonly { 18*75da10d1SCharles Saternos ret void 19*75da10d1SCharles Saternos} 20*75da10d1SCharles Saternosdefine void @h() norecurse { 21*75da10d1SCharles Saternos ret void 22*75da10d1SCharles Saternos} 23*75da10d1SCharles Saternos 24*75da10d1SCharles Saternosdefine noalias i8* @i() { 25*75da10d1SCharles Saternos %r = alloca i8 26*75da10d1SCharles Saternos ret i8* %r 27*75da10d1SCharles Saternos} 28