From f38d8c901ec5ba80133b0d2e69ae6f9c84fd2416 Mon Sep 17 00:00:00 2001 From: Junmo Park Date: Wed, 3 Feb 2016 23:16:39 +0000 Subject: [PATCH] Minor code cleanups. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259725 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Vectorize/LoopVectorize.cpp | 36 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp index e3905d78063..d037e4b3b9d 100644 --- a/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -372,7 +372,7 @@ protected: /// Shrinks vector element sizes based on information in "MinBWs". void truncateToMinimalBitwidths(); - + /// A helper function that computes the predicate of the block BB, assuming /// that the header block of the loop is set to True. It returns the *entry* /// mask for the block BB. @@ -383,7 +383,7 @@ protected: /// A helper function to vectorize a single BB within the innermost loop. void vectorizeBlockInLoop(BasicBlock *BB, PhiVector *PV); - + /// Vectorize a single PHINode in a block. This method handles the induction /// variable canonicalization. It supports both VF = 1 for unrolled loops and /// arbitrary length vectors. @@ -2477,7 +2477,7 @@ void InnerLoopVectorizer::vectorizeMemoryInstruction(Instruction *Instr) { if (Legal->isMaskRequired(SI)) NewSI = Builder.CreateMaskedStore(StoredVal[Part], VecPtr, Alignment, Mask[Part]); - else + else NewSI = Builder.CreateAlignedStore(StoredVal[Part], VecPtr, Alignment); propagateMetadata(NewSI, SI); } @@ -2624,7 +2624,7 @@ PHINode *InnerLoopVectorizer::createInductionVariable(Loop *L, Value *Start, auto *Induction = Builder.CreatePHI(Start->getType(), 2, "index"); Builder.SetInsertPoint(Latch->getTerminator()); - + // Create i+1 and fill the PHINode. Value *Next = Builder.CreateAdd(Induction, Step, "index.next"); Induction->addIncoming(Start, L->getLoopPreheader()); @@ -2632,7 +2632,7 @@ PHINode *InnerLoopVectorizer::createInductionVariable(Loop *L, Value *Start, // Create the compare. Value *ICmp = Builder.CreateICmpEQ(Next, End); Builder.CreateCondBr(ICmp, L->getExitBlock(), Header); - + // Now we have two terminators. Remove the old one from the block. Latch->getTerminator()->eraseFromParent(); @@ -2651,7 +2651,7 @@ Value *InnerLoopVectorizer::getOrCreateTripCount(Loop *L) { "Invalid loop count"); Type *IdxTy = Legal->getWidestInductionType(); - + // The exit count might have the type of i64 while the phi is i32. This can // happen if we have an induction variable that is sign extended before the // compare. The only way that we get a backedge taken count is that the @@ -2661,7 +2661,7 @@ Value *InnerLoopVectorizer::getOrCreateTripCount(Loop *L) { IdxTy->getPrimitiveSizeInBits()) BackedgeTakenCount = SE->getTruncateOrNoop(BackedgeTakenCount, IdxTy); BackedgeTakenCount = SE->getNoopOrZeroExtend(BackedgeTakenCount, IdxTy); - + // Get the total trip count from the count by adding 1. const SCEV *ExitCount = SE->getAddExpr( BackedgeTakenCount, SE->getOne(BackedgeTakenCount->getType())); @@ -2688,10 +2688,10 @@ Value *InnerLoopVectorizer::getOrCreateTripCount(Loop *L) { Value *InnerLoopVectorizer::getOrCreateVectorTripCount(Loop *L) { if (VectorTripCount) return VectorTripCount; - + Value *TC = getOrCreateTripCount(L); IRBuilder<> Builder(L->getLoopPreheader()->getTerminator()); - + // Now we need to generate the expression for N - (N % VF), which is // the part that the vectorized body will execute. // The loop step is equal to the vectorization factor (num of SIMD elements) @@ -2715,7 +2715,7 @@ void InnerLoopVectorizer::emitMinimumIterationCountCheck(Loop *L, Builder.CreateICmpULT(Count, ConstantInt::get(Count->getType(), VF * UF), "min.iters.check"); - + BasicBlock *NewBB = BB->splitBasicBlock(BB->getTerminator(), "min.iters.checked"); if (L->getParentLoop()) @@ -2730,7 +2730,7 @@ void InnerLoopVectorizer::emitVectorLoopEnteredCheck(Loop *L, Value *TC = getOrCreateVectorTripCount(L); BasicBlock *BB = L->getLoopPreheader(); IRBuilder<> Builder(BB->getTerminator()); - + // Now, compare the new count to zero. If it is zero skip the vector loop and // jump to the scalar loop. Value *Cmp = Builder.CreateICmpEQ(TC, Constant::getNullValue(TC->getType()), @@ -2896,7 +2896,7 @@ void InnerLoopVectorizer::createEmptyLoop() { // checks into a separate block to make the more common case of few elements // faster. emitMemRuntimeChecks(Lp, ScalarPH); - + // Generate the induction variable. // The loop step is equal to the vectorization factor (num of SIMD elements) // times the unroll factor (num of SIMD instructions). @@ -3505,7 +3505,7 @@ void InnerLoopVectorizer::vectorizeLoop() { // Make sure DomTree is updated. updateAnalysis(); - + // Predicate any stores. for (auto KV : PredicatedStores) { BasicBlock::iterator I(KV.first); @@ -3780,7 +3780,7 @@ void InnerLoopVectorizer::vectorizeBlockInLoop(BasicBlock *BB, PhiVector *PV) { VectorParts &Cond = getVectorValue(it->getOperand(0)); VectorParts &Op0 = getVectorValue(it->getOperand(1)); VectorParts &Op1 = getVectorValue(it->getOperand(2)); - + Value *ScalarCond = (VF == 1) ? Cond[0] : Builder.CreateExtractElement(Cond[0], Builder.getInt32(0)); @@ -4479,7 +4479,7 @@ bool LoopVectorizationLegality::blockNeedsPredication(BasicBlock *BB) { bool LoopVectorizationLegality::blockCanBePredicated(BasicBlock *BB, SmallPtrSetImpl &SafePtrs) { - + for (BasicBlock::iterator it = BB->begin(), e = BB->end(); it != e; ++it) { // Check that we don't have a constant expression that can trap as operand. for (Instruction::op_iterator OI = it->op_begin(), OE = it->op_end(); @@ -4512,7 +4512,7 @@ bool LoopVectorizationLegality::blockCanBePredicated(BasicBlock *BB, bool isSafePtr = (SafePtrs.count(SI->getPointerOperand()) != 0); bool isSinglePredecessor = SI->getParent()->getSinglePredecessor(); - + if (++NumPredStores > NumberOfStoresToPredicate || !isSafePtr || !isSinglePredecessor) { // Build a masked store if it is legal for the target, otherwise @@ -5533,7 +5533,7 @@ LoopVectorizationCostModel::getInstructionCost(Instruction *I, unsigned VF) { Legal->isInductionVariable(I->getOperand(0))) return TTI.getCastInstrCost(I->getOpcode(), I->getType(), I->getOperand(0)->getType()); - + Type *SrcScalarTy = I->getOperand(0)->getType(); Type *SrcVecTy = ToVectorTy(SrcScalarTy, VF); if (VF > 1 && MinBWs.count(I)) { @@ -5554,7 +5554,7 @@ LoopVectorizationCostModel::getInstructionCost(Instruction *I, unsigned VF) { MinVecTy); } } - + return TTI.getCastInstrCost(I->getOpcode(), VectorTy, SrcVecTy); } case Instruction::Call: { -- 2.11.0