diff --git a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp index 382e2612cbd0..38d267aa6b8d 100644 --- a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp +++ b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp @@ -296,6 +296,7 @@ static bool isTrivialLoopExitBlockHelper(Loop *L, BasicBlock *BB, // first exit. if (ExitBB != 0) return false; ExitBB = BB; + return true; } // Otherwise, this is an unvisited intra-loop node. Check all successors. diff --git a/llvm/test/Transforms/LoopUnswitch/5373.ll b/llvm/test/Transforms/LoopUnswitch/5373.ll deleted file mode 100644 index 77b78350c5d0..000000000000 --- a/llvm/test/Transforms/LoopUnswitch/5373.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: opt < %s -loop-unswitch -stats -disable-output |& grep "3 loop-unswitch - Number of branches unswitched" - -define noalias i32* @func_16(i32** %p_18, i32* %p_20) noreturn nounwind ssp { -entry: - %lnot = icmp eq i32** %p_18, null ; [#uses=1] - %lnot6 = icmp eq i32* %p_20, null ; [#uses=1] - br label %for.body - -for.body: ; preds = %cond.end, %entry - br i1 %lnot, label %cond.end, label %cond.true - -cond.true: ; preds = %for.body - tail call void @f() - unreachable - -cond.end: ; preds = %for.body - br i1 %lnot6, label %for.body, label %cond.true10 - -cond.true10: ; preds = %cond.end - tail call void @f() - unreachable -} - -declare void @f() noreturn