diff options
author | Florian Hahn <flo@fhahn.com> | 2024-03-28 21:02:15 +0000 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2024-03-28 21:02:15 +0000 |
commit | 8a614c1d316b3f8ac72580f0ccaf8d2ae8eab752 (patch) | |
tree | 11bfe968bcea76a26f6edae926fbab5f634beeb0 | |
parent | a8340767de71b8c7d10de74019622592b39e3704 (diff) |
[VPlan] Rename getVPValueOrAddLiveIn -> getOrAddLiveIn (NFCI).
The helper now only deals with live-ins, clarify the name.
-rw-r--r-- | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | 22 | ||||
-rw-r--r-- | llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h | 2 | ||||
-rw-r--r-- | llvm/lib/Transforms/Vectorize/VPlan.cpp | 10 | ||||
-rw-r--r-- | llvm/lib/Transforms/Vectorize/VPlan.h | 6 | ||||
-rw-r--r-- | llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp | 12 | ||||
-rw-r--r-- | llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp | 2 | ||||
-rw-r--r-- | llvm/unittests/Transforms/Vectorize/VPlanTest.cpp | 4 |
8 files changed, 31 insertions, 31 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp index d7be9343d830..452c84f2dcf5 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -7905,7 +7905,7 @@ VPRecipeBuilder::mapToVPValues(User::op_range Operands) { if (auto *R = Ingredient2Recipe.lookup(I)) return R->getVPSingleValue(); } - return Plan.getVPValueOrAddLiveIn(Op); + return Plan.getOrAddLiveIn(Op); }; return map_range(Operands, Fn); } @@ -7945,7 +7945,7 @@ VPValue *VPRecipeBuilder::createEdgeMask(BasicBlock *Src, BasicBlock *Dst) { // 'select i1 SrcMask, i1 EdgeMask, i1 false'. // The select version does not introduce new UB if SrcMask is false and // EdgeMask is poison. Using 'and' here introduces undefined behavior. - VPValue *False = Plan.getVPValueOrAddLiveIn( + VPValue *False = Plan.getOrAddLiveIn( ConstantInt::getFalse(BI->getCondition()->getType())); EdgeMask = Builder.createSelect(SrcMask, EdgeMask, False, BI->getDebugLoc()); @@ -8147,7 +8147,7 @@ VPWidenIntOrFpInductionRecipe *VPRecipeBuilder::tryToOptimizeInductionTruncate( auto *Phi = cast<PHINode>(I->getOperand(0)); const InductionDescriptor &II = *Legal->getIntOrFpInductionDescriptor(Phi); - VPValue *Start = Plan.getVPValueOrAddLiveIn(II.getStartValue()); + VPValue *Start = Plan.getOrAddLiveIn(II.getStartValue()); return createWidenInductionRecipes(Phi, I, Start, II, Plan, *PSE.getSE(), *OrigLoop, Range); } @@ -8257,7 +8257,7 @@ VPWidenCallRecipe *VPRecipeBuilder::tryToWidenCall(CallInst *CI, if (Legal->isMaskRequired(CI)) Mask = getBlockInMask(CI->getParent()); else - Mask = Plan.getVPValueOrAddLiveIn(ConstantInt::getTrue( + Mask = Plan.getOrAddLiveIn(ConstantInt::getTrue( IntegerType::getInt1Ty(Variant->getFunctionType()->getContext()))); Ops.insert(Ops.begin() + *MaskPos, Mask); @@ -8301,7 +8301,7 @@ VPWidenRecipe *VPRecipeBuilder::tryToWiden(Instruction *I, SmallVector<VPValue *> Ops(Operands.begin(), Operands.end()); VPValue *Mask = getBlockInMask(I->getParent()); VPValue *One = - Plan.getVPValueOrAddLiveIn(ConstantInt::get(I->getType(), 1u, false)); + Plan.getOrAddLiveIn(ConstantInt::get(I->getType(), 1u, false)); auto *SafeRHS = new VPInstruction(Instruction::Select, {Mask, Ops[1], One}, I->getDebugLoc()); @@ -8499,7 +8499,7 @@ void LoopVectorizationPlanner::buildVPlansWithVPRecipes(ElementCount MinVF, static void addCanonicalIVRecipes(VPlan &Plan, Type *IdxTy, bool HasNUW, DebugLoc DL) { Value *StartIdx = ConstantInt::get(IdxTy, 0); - auto *StartV = Plan.getVPValueOrAddLiveIn(StartIdx); + auto *StartV = Plan.getOrAddLiveIn(StartIdx); // Add a VPCanonicalIVPHIRecipe starting at 0 to the header. auto *CanonicalIVPHI = new VPCanonicalIVPHIRecipe(StartV, DL); @@ -8641,7 +8641,7 @@ LoopVectorizationPlanner::tryToBuildVPlanWithVPRecipes(VFRange &Range) { SmallVector<VPValue *, 4> Operands; auto *Phi = dyn_cast<PHINode>(Instr); if (Phi && Phi->getParent() == HeaderBB) { - Operands.push_back(Plan->getVPValueOrAddLiveIn( + Operands.push_back(Plan->getOrAddLiveIn( Phi->getIncomingValueForBlock(OrigLoop->getLoopPreheader()))); } else { auto OpRange = RecipeBuilder.mapToVPValues(Instr->operands()); @@ -8752,10 +8752,10 @@ LoopVectorizationPlanner::tryToBuildVPlanWithVPRecipes(VFRange &Range) { continue; Constant *CI = ConstantInt::get(Stride->getType(), ScevStride->getAPInt()); - auto *ConstVPV = Plan->getVPValueOrAddLiveIn(CI); + auto *ConstVPV = Plan->getOrAddLiveIn(CI); // The versioned value may not be used in the loop directly, so just add a // new live-in in those cases. - Plan->getVPValueOrAddLiveIn(StrideV)->replaceAllUsesWith(ConstVPV); + Plan->getOrAddLiveIn(StrideV)->replaceAllUsesWith(ConstVPV); } VPlanTransforms::dropPoisonGeneratingRecipes(*Plan, [this](BasicBlock *BB) { @@ -10025,7 +10025,7 @@ bool LoopVectorizePass::processLoop(Loop *L) { EpilogILV.setTripCount(MainILV.getTripCount()); for (auto &R : make_early_inc_range(*BestEpiPlan.getPreheader())) { auto *ExpandR = cast<VPExpandSCEVRecipe>(&R); - auto *ExpandedVal = BestEpiPlan.getVPValueOrAddLiveIn( + auto *ExpandedVal = BestEpiPlan.getOrAddLiveIn( ExpandedSCEVs.find(ExpandR->getSCEV())->second); ExpandR->replaceAllUsesWith(ExpandedVal); if (BestEpiPlan.getTripCount() == ExpandR) @@ -10066,7 +10066,7 @@ bool LoopVectorizePass::processLoop(Loop *L) { {EPI.MainLoopIterationCountCheck}); } assert(ResumeV && "Must have a resume value"); - VPValue *StartVal = BestEpiPlan.getVPValueOrAddLiveIn(ResumeV); + VPValue *StartVal = BestEpiPlan.getOrAddLiveIn(ResumeV); cast<VPHeaderPHIRecipe>(&R)->setStartValue(StartVal); } diff --git a/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h b/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h index fbb70f333685..605b47fa0a46 100644 --- a/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h +++ b/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h @@ -170,7 +170,7 @@ public: if (auto *R = Ingredient2Recipe.lookup(I)) return R->getVPSingleValue(); } - return Plan.getVPValueOrAddLiveIn(V); + return Plan.getOrAddLiveIn(V); } }; } // end namespace llvm diff --git a/llvm/lib/Transforms/Vectorize/VPlan.cpp b/llvm/lib/Transforms/Vectorize/VPlan.cpp index 8c664081c40c..9a8f53c8dbe4 100644 --- a/llvm/lib/Transforms/Vectorize/VPlan.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlan.cpp @@ -812,7 +812,7 @@ void VPlan::prepareToExecute(Value *TripCountV, Value *VectorTripCountV, // needs to be changed from zero to the value after the main vector loop. // FIXME: Improve modeling for canonical IV start values in the epilogue loop. if (CanonicalIVStartValue) { - VPValue *VPV = getVPValueOrAddLiveIn(CanonicalIVStartValue); + VPValue *VPV = getOrAddLiveIn(CanonicalIVStartValue); auto *IV = getCanonicalIV(); assert(all_of(IV->users(), [](const VPUser *U) { @@ -1088,7 +1088,7 @@ VPlan *VPlan::duplicate() { DenseMap<VPValue *, VPValue *> Old2NewVPValues; for (VPValue *OldLiveIn : VPLiveInsToFree) { Old2NewVPValues[OldLiveIn] = - NewPlan->getVPValueOrAddLiveIn(OldLiveIn->getLiveInIRValue()); + NewPlan->getOrAddLiveIn(OldLiveIn->getLiveInIRValue()); } Old2NewVPValues[&VectorTripCount] = &NewPlan->VectorTripCount; Old2NewVPValues[&VFxUF] = &NewPlan->VFxUF; @@ -1099,7 +1099,7 @@ VPlan *VPlan::duplicate() { assert(TripCount && "trip count must be set"); if (TripCount->isLiveIn()) Old2NewVPValues[TripCount] = - NewPlan->getVPValueOrAddLiveIn(TripCount->getLiveInIRValue()); + NewPlan->getOrAddLiveIn(TripCount->getLiveInIRValue()); // else NewTripCount will be created and inserted into Old2NewVPValues when // TripCount is cloned. In any case NewPlan->TripCount is updated below. @@ -1422,9 +1422,9 @@ VPValue *vputils::getOrCreateVPValueForSCEVExpr(VPlan &Plan, const SCEV *Expr, return Expanded; VPValue *Expanded = nullptr; if (auto *E = dyn_cast<SCEVConstant>(Expr)) - Expanded = Plan.getVPValueOrAddLiveIn(E->getValue()); + Expanded = Plan.getOrAddLiveIn(E->getValue()); else if (auto *E = dyn_cast<SCEVUnknown>(Expr)) - Expanded = Plan.getVPValueOrAddLiveIn(E->getValue()); + Expanded = Plan.getOrAddLiveIn(E->getValue()); else { Expanded = new VPExpandSCEVRecipe(Expr, SE); Plan.getPreheader()->appendRecipe(Expanded->getDefiningRecipe()); diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h index 2f56799a7b51..272a42e44d88 100644 --- a/llvm/lib/Transforms/Vectorize/VPlan.h +++ b/llvm/lib/Transforms/Vectorize/VPlan.h @@ -3022,9 +3022,9 @@ public: return Value2VPValue[V]; } - /// Gets the VPValue for \p V or adds a new live-in (if none exists yet) for - /// \p V. - VPValue *getVPValueOrAddLiveIn(Value *V) { + /// Gets the live-in VPValue for \p V or adds a new live-in (if none exists + /// yet) for \p V. + VPValue *getOrAddLiveIn(Value *V) { assert(V && "Trying to get or add the VPValue of a null Value"); if (!Value2VPValue.count(V)) { VPValue *VPV = new VPValue(V); diff --git a/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp b/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp index 877b5d438115..b57ff2840a72 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp @@ -272,7 +272,7 @@ VPValue *PlainCFGBuilder::getOrCreateVPOperand(Value *IRVal) { // A and B: Create VPValue and add it to the pool of external definitions and // to the Value->VPValue map. - VPValue *NewVPVal = Plan.getVPValueOrAddLiveIn(IRVal); + VPValue *NewVPVal = Plan.getOrAddLiveIn(IRVal); IRDef2VPValue[IRVal] = NewVPVal; return NewVPVal; } @@ -361,7 +361,7 @@ void PlainCFGBuilder::buildPlainCFG() { for (auto &I : *ThePreheaderBB) { if (I.getType()->isVoidTy()) continue; - IRDef2VPValue[&I] = Plan.getVPValueOrAddLiveIn(&I); + IRDef2VPValue[&I] = Plan.getOrAddLiveIn(&I); } LoopBlocksRPO RPO(TheLoop); diff --git a/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp b/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp index 006f4349d6fb..6f881d4328f6 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp @@ -52,7 +52,7 @@ void VPlanTransforms::VPInstructionsToVPRecipes( if (!II) continue; - VPValue *Start = Plan->getVPValueOrAddLiveIn(II->getStartValue()); + VPValue *Start = Plan->getOrAddLiveIn(II->getStartValue()); VPValue *Step = vputils::getOrCreateVPValueForSCEVExpr(*Plan, II->getStep(), SE); NewRecipe = new VPWidenIntOrFpInductionRecipe(Phi, Start, Step, *II); @@ -568,8 +568,8 @@ static void legalizeAndOptimizeInductions(VPlan &Plan, ScalarEvolution &SE) { continue; const InductionDescriptor &ID = PtrIV->getInductionDescriptor(); - VPValue *StartV = Plan.getVPValueOrAddLiveIn( - ConstantInt::get(ID.getStep()->getType(), 0)); + VPValue *StartV = + Plan.getOrAddLiveIn(ConstantInt::get(ID.getStep()->getType(), 0)); VPValue *StepV = PtrIV->getOperand(1); VPRecipeBase *Steps = createScalarIVSteps(Plan, InductionDescriptor::IK_IntInduction, @@ -663,9 +663,9 @@ void VPlanTransforms::optimizeForVFAndUF(VPlan &Plan, ElementCount BestVF, return; LLVMContext &Ctx = SE.getContext(); - auto *BOC = new VPInstruction( - VPInstruction::BranchOnCond, - {Plan.getVPValueOrAddLiveIn(ConstantInt::getTrue(Ctx))}); + auto *BOC = + new VPInstruction(VPInstruction::BranchOnCond, + {Plan.getOrAddLiveIn(ConstantInt::getTrue(Ctx))}); Term->eraseFromParent(); ExitingVPBB->appendRecipe(BOC); Plan.setVF(BestVF); diff --git a/llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp b/llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp index be8be7acbe38..777675b623f3 100644 --- a/llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp +++ b/llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp @@ -96,7 +96,7 @@ TEST_F(VPlanHCFGTest, testBuildHCFGInnerLoop) { #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) // Add an external value to check we do not print the list of external values, // as this is not required with the new printing. - Plan->getVPValueOrAddLiveIn(&*F->arg_begin()); + Plan->getOrAddLiveIn(&*F->arg_begin()); std::string FullDump; raw_string_ostream OS(FullDump); Plan->printDOT(OS); diff --git a/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp b/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp index 33d5e2759af5..e537aac75515 100644 --- a/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp +++ b/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp @@ -1237,8 +1237,8 @@ TEST(VPRecipeTest, dump) { BinaryOperator::CreateAdd(UndefValue::get(Int32), UndefValue::get(Int32)); AI->setName("a"); SmallVector<VPValue *, 2> Args; - VPValue *ExtVPV1 = Plan.getVPValueOrAddLiveIn(ConstantInt::get(Int32, 1)); - VPValue *ExtVPV2 = Plan.getVPValueOrAddLiveIn(ConstantInt::get(Int32, 2)); + VPValue *ExtVPV1 = Plan.getOrAddLiveIn(ConstantInt::get(Int32, 1)); + VPValue *ExtVPV2 = Plan.getOrAddLiveIn(ConstantInt::get(Int32, 2)); Args.push_back(ExtVPV1); Args.push_back(ExtVPV2); VPWidenRecipe *WidenR = |