diff --git a/test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll b/test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll new file mode 100644 index 00000000000..64c1051f34f --- /dev/null +++ b/test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll @@ -0,0 +1,16 @@ +; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep -C 1 Loop: | grep Canonical + +; The indvar simplification code should ensure that the first PHI in the block +; is the canonical one! + +int %test() { + br label %Loop +Loop: + %NonIndvar = phi int [200, %0], [%NonIndvarNext, %Loop] + %Canonical = phi int [0, %0], [%CanonicalNext, %Loop] + + %NonIndvarNext = div int %NonIndvar, 2 + %CanonicalNext = add int %Canonical, 1 + br label %Loop +} +