[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / FunctionAttrs / 2008-09-03-ReadNone.ll
blobd747fe727fae560a453b07877fc8e2ab86793300
1 ; RUN: opt < %s -basicaa -functionattrs -S | FileCheck %s
2 ; RUN: opt < %s -aa-pipeline=basic-aa -passes=function-attrs -S | FileCheck %s
4 @x = global i32 0
6 ; CHECK: Function Attrs
7 ; CHECK-SAME: readnone
8 ; CHECK-NEXT: declare i32 @e
9 declare i32 @e() readnone
11 ; CHECK: Function Attrs
12 ; CHECK-SAME: readnone
13 ; CHECK-NEXT: define i32 @f
14 define i32 @f() {
15         %tmp = call i32 @e( )           ; <i32> [#uses=1]
16         ret i32 %tmp
19 ; CHECK: Function Attrs
20 ; CHECK-SAME: readnone
21 ; CHECK-NEXT: define i32 @g
22 define i32 @g() readonly {
23         ret i32 0
26 ; CHECK: Function Attrs
27 ; CHECK-SAME: readnone
28 ; CHECK-NEXT: define i32 @h
29 define i32 @h() readnone {
30         %tmp = load i32, i32* @x                ; <i32> [#uses=1]
31         ret i32 %tmp