summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll16
1 files changed, 16 insertions, 0 deletions
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 0000000000..64c1051f34
--- /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
+}
+