[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / InstCombine / 2008-06-19-UncondLoad.ll
blobc3aab464b87eda12dacba4de36b0e6f44eca8694
1 ; RUN: opt < %s -instcombine -S | grep load | count 3
2 ; PR2471
4 declare i32 @x(i32*)
5 define i32 @b(i32* %a, i32* %b) {
6 entry:
7         %tmp1 = load i32, i32* %a            
8         %tmp3 = load i32, i32* %b           
9         %add = add i32 %tmp1, %tmp3   
10         %call = call i32 @x( i32* %a )
11         %tobool = icmp ne i32 %add, 0
12         ; not safe to turn into an uncond load
13         %cond = select i1 %tobool, i32* %b, i32* %a             
14         %tmp8 = load i32, i32* %cond       
15         ret i32 %tmp8