blob: 38fa112bdb5ee69890e35c44adb3b2ce0b67a919 [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; This is a test case for the expression analysis code, not really indvars.
2; It was assuming any constant of int type was a ConstantInteger.
3;
Dan Gohman3c7d3082009-09-11 18:01:28 +00004; RUN: opt < %s -indvars
Dan Gohmanf17a25c2007-07-18 16:29:46 +00005
Tanya Lattner4c4d0b82008-03-01 09:15:35 +00006@X = global i32 7 ; <i32*> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00007
Tanya Lattner4c4d0b82008-03-01 09:15:35 +00008define void @test(i32 %A) {
9; <label>:0
Dan Gohmanf17a25c2007-07-18 16:29:46 +000010 br label %Loop
Tanya Lattner4c4d0b82008-03-01 09:15:35 +000011
12Loop: ; preds = %Loop, %0
13 %IV = phi i32 [ %A, %0 ], [ %IVNext, %Loop ] ; <i32> [#uses=1]
14 %IVNext = add i32 %IV, ptrtoint (i32* @X to i32) ; <i32> [#uses=1]
Dan Gohmanf17a25c2007-07-18 16:29:46 +000015 br label %Loop
16}
Tanya Lattner4c4d0b82008-03-01 09:15:35 +000017