From f26da26d0510fefe09fa6788f8caf415c611185a Mon Sep 17 00:00:00 2001 From: Michael Zolotukhin Date: Wed, 8 Jul 2015 21:47:56 +0000 Subject: [PATCH] [LoopVectorizer] Remove redundant variables PastOverflowCheck and OverflowCheckAnchor. NFCI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241740 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Vectorize/LoopVectorize.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp index 0a3f8bfe44b..740ee15de33 100644 --- a/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -2564,14 +2564,6 @@ void InnerLoopVectorizer::createEmptyLoop() { IdxTy): ConstantInt::get(IdxTy, 0); - // We need an instruction to anchor the overflow check on. StartIdx needs to - // be defined before the overflow check branch. Because the scalar preheader - // is going to merge the start index and so the overflow branch block needs to - // contain a definition of the start index. - Instruction *OverflowCheckAnchor = BinaryOperator::CreateAdd( - StartIdx, ConstantInt::get(IdxTy, 0), "overflow.check.anchor", - BypassBlock->getTerminator()); - // Count holds the overall loop count (N). Value *Count = Exp.expandCodeFor(ExitCount, ExitCount->getType(), BypassBlock->getTerminator()); @@ -2617,9 +2609,8 @@ void InnerLoopVectorizer::createEmptyLoop() { // Generate code to check that the loop's trip count that we computed by // adding one to the backedge-taken count will not overflow. - auto PastOverflowCheck = std::next(BasicBlock::iterator(OverflowCheckAnchor)); - BasicBlock *CheckBlock = - BypassBlock->splitBasicBlock(PastOverflowCheck, "overflow.checked"); + BasicBlock *CheckBlock = BypassBlock->splitBasicBlock( + BypassBlock->getTerminator(), "overflow.checked"); if (ParentLoop) ParentLoop->addBasicBlockToLoop(CheckBlock, *LI); LoopBypassBlocks.push_back(CheckBlock); -- 2.34.1