blob: da22cf2e516419219fde54a43cbbd1eb28d26f5d [file] [log] [blame]
Tanya Lattner4c4d0b82008-03-01 09:15:35 +00001; RUN: llvm-as < %s | opt -indvars | llvm-dis | %prcontext Loop: 1 | grep %indvar
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002
3; The indvar simplification code should ensure that the first PHI in the block
4; is the canonical one!
5
Tanya Lattner4c4d0b82008-03-01 09:15:35 +00006define i32 @test() {
7; <label>:0
8 br label %Loop
Dan Gohmanf17a25c2007-07-18 16:29:46 +00009
Tanya Lattner4c4d0b82008-03-01 09:15:35 +000010Loop: ; preds = %Loop, %0
11 %NonIndvar = phi i32 [ 200, %0 ], [ %NonIndvarNext, %Loop ] ; <i32> [#uses=1]
12 %Canonical = phi i32 [ 0, %0 ], [ %CanonicalNext, %Loop ] ; <i32> [#uses=1]
13 %NonIndvarNext = sdiv i32 %NonIndvar, 2 ; <i32> [#uses=1]
14 %CanonicalNext = add i32 %Canonical, 1 ; <i32> [#uses=1]
15 br label %Loop
Dan Gohmanf17a25c2007-07-18 16:29:46 +000016}
17