[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Transforms / FunctionAttrs / int_sideeffect.ll
blob24a145908e00cec584dd039c77359b75c3773057
1 ; RUN: opt -S < %s -functionattrs | FileCheck %s
2 ; RUN: opt -S < %s -passes=function-attrs | FileCheck %s
4 ; CHECK: Function Attrs
5 ; CHECK-SAME: inaccessiblememonly
6 ; CHECK-NEXT: declare void @llvm.sideeffect()
7 declare void @llvm.sideeffect()
9 ; Don't add readnone or similar attributes when an @llvm.sideeffect() intrinsic
10 ; is present.
12 ; CHECK: Function Attrs
13 ; CHECK-NOT: readnone
14 ; CHECK: define void @test()
15 define void @test() {
16     call void @llvm.sideeffect()
17     ret void
20 ; CHECK: Function Attrs
21 ; CHECK-NOT: readnone
22 ; CHECK: define void @loop()
23 define void @loop() {
24     br label %loop
26 loop:
27     call void @llvm.sideeffect()
28     br label %loop