aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/IndVarsSimplify/loop_evaluate_1.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/IndVarsSimplify/loop_evaluate_1.ll')
-rw-r--r--test/Transforms/IndVarsSimplify/loop_evaluate_1.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Transforms/IndVarsSimplify/loop_evaluate_1.ll b/test/Transforms/IndVarsSimplify/loop_evaluate_1.ll
new file mode 100644
index 0000000..ead9b91
--- /dev/null
+++ b/test/Transforms/IndVarsSimplify/loop_evaluate_1.ll
@@ -0,0 +1,21 @@
+; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | not grep br
+;
+; Testcase distilled from 256.bzip2
+
+int %main() {
+entry:
+ br label %loopentry
+
+loopentry: ; preds = %entry, %loopentry
+ %indvar1 = phi uint [ 0, %entry ], [ %indvar.next2, %loopentry ] ; <uint> [#uses=1]
+ %h.0 = phi int [ %tmp.2, %loopentry ], [ 4, %entry ] ; <int> [#uses=1]
+ %tmp.1 = mul int %h.0, 3 ; <int> [#uses=1]
+ %tmp.2 = add int %tmp.1, 1 ; <int> [#uses=1]
+ %indvar.next2 = add uint %indvar1, 1 ; <uint> [#uses=2]
+ %exitcond3 = setne uint %indvar.next2, 4 ; <bool> [#uses=1]
+ br bool %exitcond3, label %loopentry, label %loopexit
+
+loopexit: ; preds = %loopentry
+ ret int %tmp.2
+}
+