; RUN: llvm-as < %s | opt -indvars  | llvm-dis | %prcontext Loop: 1 | grep %indvar

; The indvar simplification code should ensure that the first PHI in the block 
; is the canonical one!

define i32 @test() {
; <label>:0
        br label %Loop

Loop:           ; preds = %Loop, %0
        %NonIndvar = phi i32 [ 200, %0 ], [ %NonIndvarNext, %Loop ]             ; <i32> [#uses=1]
        %Canonical = phi i32 [ 0, %0 ], [ %CanonicalNext, %Loop ]               ; <i32> [#uses=1]
        %NonIndvarNext = sdiv i32 %NonIndvar, 2         ; <i32> [#uses=1]
        %CanonicalNext = add i32 %Canonical, 1          ; <i32> [#uses=1]
        br label %Loop
}


; RUN: llvm-as < %s | opt -indvars  | llvm-dis | %prcontext Loop: 1 | grep %indvar

; The indvar simplification code should ensure that the first PHI in the block 
; is the canonical one!

define i32 @test() {
; <label>:0
        br label %Loop

Loop:           ; preds = %Loop, %0
        %NonIndvar = phi i32 [ 200, %0 ], [ %NonIndvarNext, %Loop ]             ; <i32> [#uses=1]
        %Canonical = phi i32 [ 0, %0 ], [ %CanonicalNext, %Loop ]               ; <i32> [#uses=2]
        store i32 %Canonical, i32* null
        %NonIndvarNext = sdiv i32 %NonIndvar, 2         ; <i32> [#uses=1]
        %CanonicalNext = add i32 %Canonical, 1          ; <i32> [#uses=1]
        br label %Loop
}


Make this testcase slightly less trivial, so that it doesn't fail if indvars happens to optimize away the unused primary induction variable.
Make this testcase slightly less trivial, so that it doesn't fail
if indvars happens to optimize away the unused primary induction
variable.


git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@70333 91177308-0d34-0410-b5e6-96231b3b80d8
