Mercurial > hg > CbC > CbC_llvm
diff test/Transforms/IndVarSimplify/2006-03-31-NegativeStride.ll @ 0:95c75e76d11b LLVM3.4
LLVM 3.4
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 13:56:28 +0900 |
parents | |
children | 1172e4bd9c6f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/Transforms/IndVarSimplify/2006-03-31-NegativeStride.ll Thu Dec 12 13:56:28 2013 +0900 @@ -0,0 +1,22 @@ +; PR726 +; RUN: opt < %s -indvars -S | \ +; RUN: grep "ret i32 27" + +; Make sure to compute the right exit value based on negative strides. + +define i32 @test() { +entry: + br label %cond_true + +cond_true: ; preds = %cond_true, %entry + %a.0.0 = phi i32 [ 10, %entry ], [ %tmp4, %cond_true ] ; <i32> [#uses=2] + %b.0.0 = phi i32 [ 0, %entry ], [ %tmp2, %cond_true ] ; <i32> [#uses=1] + %tmp2 = add i32 %b.0.0, %a.0.0 ; <i32> [#uses=2] + %tmp4 = add i32 %a.0.0, -1 ; <i32> [#uses=2] + %tmp = icmp sgt i32 %tmp4, 7 ; <i1> [#uses=1] + br i1 %tmp, label %cond_true, label %bb7 + +bb7: ; preds = %cond_true + ret i32 %tmp2 +} +