diff --git a/test/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll b/test/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll new file mode 100644 index 00000000000..1f71c4e7d7d --- /dev/null +++ b/test/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll @@ -0,0 +1,21 @@ +; RUN: llvm-as < %s | opt -indvars -disable-output + +void %get_block() { +endif.0: ; preds = %entry + br label %no_exit.30 + +no_exit.30: ; preds = %no_exit.30, %endif.0 + %x.12.0 = phi int [ %inc.28, %no_exit.30 ], [ -2, %endif.0 ] ; [#uses=1] + %tmp.583 = load ushort* null ; [#uses=1] + %tmp.584 = cast ushort %tmp.583 to int ; [#uses=1] + %tmp.588 = load int* null ; [#uses=1] + %tmp.589 = mul int %tmp.584, %tmp.588 ; [#uses=1] + %tmp.591 = add int %tmp.589, 0 ; [#uses=1] + %inc.28 = add int %x.12.0, 1 ; [#uses=2] + %tmp.565 = setgt int %inc.28, 3 ; [#uses=1] + br bool %tmp.565, label %loopexit.30, label %no_exit.30 + +loopexit.30: ; preds = %no_exit.30 + %tmp.591.lcssa = phi int [ %tmp.591, %no_exit.30 ] ; [#uses=0] + ret void +}