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 | ; RUN: opt < %s -instcombine -S | grep load | count 3 ; PR2471 declare i32 @x(i32*) define i32 @b(i32* %a, i32* %b) { entry: %tmp1 = load i32, i32* %a %tmp3 = load i32, i32* %b %add = add i32 %tmp1, %tmp3 %call = call i32 @x( i32* %a ) %tobool = icmp ne i32 %add, 0 ; not safe to turn into an uncond load %cond = select i1 %tobool, i32* %b, i32* %a %tmp8 = load i32, i32* %cond ret i32 %tmp8 } |