reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ; RUN: opt -S < %s -functionattrs | FileCheck %s ; RUN: opt -S < %s -passes=function-attrs | FileCheck %s ; CHECK: Function Attrs ; CHECK-SAME: inaccessiblememonly ; CHECK-NEXT: declare void @llvm.sideeffect() declare void @llvm.sideeffect() ; Don't add readnone or similar attributes when an @llvm.sideeffect() intrinsic ; is present. ; CHECK: Function Attrs ; CHECK-NOT: readnone ; CHECK: define void @test() define void @test() { call void @llvm.sideeffect() ret void } ; CHECK: Function Attrs ; CHECK-NOT: readnone ; CHECK: define void @loop() define void @loop() { br label %loop loop: call void @llvm.sideeffect() br label %loop } |