[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / IndVarSimplify / 2003-09-23-NotAtTop.ll
blobe3de75e36fd8594dd3b3b118c58932ba92dca193
1 ; RUN: opt -S -indvars < %s | FileCheck %s
3 ; The indvar simplification code should ensure that the first PHI in the block 
4 ; is the canonical one!
6 define i32 @test() {
7 ; <label>:0
8         br label %Loop
10 Loop:           ; preds = %Loop, %0
11 ; CHECK: Loop:
12 ; CHECK-NEXT: Canonical
13         %NonIndvar = phi i32 [ 200, %0 ], [ %NonIndvarNext, %Loop ]             ; <i32> [#uses=1]
14         %Canonical = phi i32 [ 0, %0 ], [ %CanonicalNext, %Loop ]               ; <i32> [#uses=2]
15         store i32 %Canonical, i32* null
16         %NonIndvarNext = sdiv i32 %NonIndvar, 2         ; <i32> [#uses=1]
17         %CanonicalNext = add i32 %Canonical, 1          ; <i32> [#uses=1]
18         br label %Loop