llvm/test/Transforms/IndVarSimplify/2003-12-10-RemoveInstrCrash.ll
Dan Gohman 00cb5b7245 Teach ScalarEvolution how to compute a tripcount for a loop with
true or false as its exit condition. These are usually eliminated by
SimplifyCFG, but the may be left around during a pass which wishes
to preserve the CFG.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96683 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-19 18:12:07 +00:00

19 lines
679 B
LLVM

; RUN: opt < %s -indvars -disable-output
define void @test() {
entry:
%inc.2 = add i32 1, 1 ; <i32> [#uses=1]
br i1 false, label %no_exit, label %loopexit
no_exit: ; preds = %no_exit, %entry
%j.0.pn = phi i32 [ %inc.3, %no_exit ], [ %inc.2, %entry ] ; <i32> [#uses=1]
%k.0.pn = phi i32 [ %inc.4, %no_exit ], [ 1, %entry ] ; <i32> [#uses=1]
%inc.3 = add i32 %j.0.pn, 1 ; <i32> [#uses=1]
%inc.4 = add i32 %k.0.pn, 1 ; <i32> [#uses=1]
br i1 undef, label %no_exit, label %loopexit
loopexit: ; preds = %no_exit, %entry
ret void
}