diff options
Diffstat (limited to 'test/Transforms/IndVarsSimplify/loop_evaluate_1.ll')
-rw-r--r-- | test/Transforms/IndVarsSimplify/loop_evaluate_1.ll | 21 |
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 +} + |