1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
; RUN: opt < %s -indvars -S | grep indvar @G = global i64 0 ; <i64*> [#uses=1] define void @test(i64 %V) { ; <label>:0 br label %Loop Loop: ; preds = %Loop, %0 %X = phi i64 [ 1, %0 ], [ %X.next, %Loop ] ; <i64> [#uses=2] %X.next = sub i64 %X, %V ; <i64> [#uses=1] store i64 %X, i64* @G br label %Loop }