Dan Gohman | 3c7d308 | 2009-09-11 18:01:28 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -indvars -S | grep indvar |
Tanya Lattner | 4c4d0b8 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 2 | @G = global i32* null ; <i32**> [#uses=1] |
| 3 | @Array = external global [40 x i32] ; <[40 x i32]*> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 4 | |
Tanya Lattner | 4c4d0b8 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 5 | define void @test() { |
| 6 | ; <label>:0 |
| 7 | br label %Loop |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | |
Tanya Lattner | 4c4d0b8 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 9 | Loop: ; preds = %Loop, %0 |
| 10 | %X = phi i32* [ getelementptr ([40 x i32]* @Array, i64 0, i64 0), %0 ], [ %X.next, %Loop ] ; <i32*> [#uses=2] |
| 11 | %X.next = getelementptr i32* %X, i64 1 ; <i32*> [#uses=1] |
| 12 | store i32* %X, i32** @G |
| 13 | br label %Loop |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 14 | } |
Tanya Lattner | 4c4d0b8 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 15 | |