76680a901fa6fc594b4520267386686d3e0d364a
[oota-llvm.git] / test / Transforms / LoopStrengthReduce / ops_after_indvar.ll
1 ; Check that this test makes INDVAR and related stuff dead, because P[indvar]
2 ; gets reduced, making INDVAR dead.
3
4 ; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | not grep INDVAR
5 ; XFAIL: *
6
7 declare bool %pred()
8 declare int %getidx()
9
10 void %test([10000 x int]* %P) {
11         br label %Loop
12 Loop:
13         %INDVAR = phi int [0, %0], [%INDVAR2, %Loop]
14         %idx = call int %getidx()
15         %STRRED = getelementptr [10000 x int]* %P, int %INDVAR, int %idx
16         store int 0, int* %STRRED
17
18         %INDVAR2 = add int %INDVAR, 1
19         %cond = call bool %pred()
20         br bool %cond, label %Loop, label %Out
21 Out:
22         ret void
23 }