Searched refs:VPRecipeBase (Results 1 – 12 of 12) sorted by relevance
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanTransforms.cpp | 42 VPRecipeBase *Term = VPBB->getTerminator(); in VPInstructionsToVPRecipes() 45 for (VPRecipeBase &Ingredient : in VPInstructionsToVPRecipes() 51 VPRecipeBase *NewRecipe = nullptr; in VPInstructionsToVPRecipes() 148 auto *UI = dyn_cast<VPRecipeBase>(U); in sinkScalarOperands() 169 return cast<VPRecipeBase>(&U)->getParent() != SinkTo; in sinkScalarOperands() 263 for (VPRecipeBase &ToMove : make_early_inc_range(reverse(*Then1))) in mergeReplicateRegionsIntoSuccessors() 272 for (VPRecipeBase &Phi1ToMove : make_early_inc_range(reverse(*Merge1))) { in mergeReplicateRegionsIntoSuccessors() 277 auto *UI = dyn_cast<VPRecipeBase>(&U); in mergeReplicateRegionsIntoSuccessors() 343 for (VPRecipeBase &R : *VPBB) in addReplicateRegions() 387 for (VPRecipeBase &R : make_early_inc_range(*VPBB)) in mergeBlocksIntoPredecessors() [all …]
|
| H A D | VPlan.h | 402 BasicBlock *getPreheaderBBFor(VPRecipeBase *R); 762 class VPRecipeBase : public ilist_node_with_parent<VPRecipeBase, VPBasicBlock>, 775 VPRecipeBase(const unsigned char SC, ArrayRef<VPValue *> Operands, 780 VPRecipeBase(const unsigned char SC, iterator_range<IterT> Operands, 783 virtual ~VPRecipeBase() = default; 786 virtual VPRecipeBase *clone() = 0; 803 void insertBefore(VPRecipeBase *InsertPos); 806 void insertBefore(VPBasicBlock &BB, iplist<VPRecipeBase>::iterator IP); 810 void insertAfter(VPRecipeBase *InsertPos); 814 void moveAfter(VPRecipeBase *MovePos); [all …]
|
| H A D | VPRecipeBuilder.h | 57 DenseMap<Instruction *, VPRecipeBase *> Ingredient2Recipe; 115 VPRecipeBase *tryToCreateWidenRecipe(Instruction *Instr, 120 void setRecipe(Instruction *I, VPRecipeBase *R) { in setRecipe() 146 VPRecipeBase *getRecipe(Instruction *I) { in getRecipe()
|
| H A D | VPlanAnalysis.cpp | 246 TypeSwitch<const VPRecipeBase *, Type *>(V->getDefiningRecipe()) in inferScalarType() 261 VPWidenCanonicalIVRecipe>([this](const VPRecipeBase *R) { in inferScalarType() 288 VPlan &Plan, DenseSet<VPRecipeBase *> &EphRecipes) { in collectEphemeralRecipesForVPlan() 290 SmallVector<VPRecipeBase *> Worklist; in collectEphemeralRecipesForVPlan() 293 for (VPRecipeBase &R : *VPBB) { in collectEphemeralRecipesForVPlan() 307 VPRecipeBase *Cur = Worklist.pop_back_val(); in collectEphemeralRecipesForVPlan() 313 auto *UR = dyn_cast<VPRecipeBase>(U); in collectEphemeralRecipesForVPlan()
|
| H A D | VPlan.cpp | 97 if (const VPRecipeBase *R = dyn_cast_or_null<VPRecipeBase>(Def)) in print() 104 const VPRecipeBase *Instr = dyn_cast_or_null<VPRecipeBase>(this->Def); in dump() 112 const VPRecipeBase *Instr = dyn_cast_or_null<VPRecipeBase>(this); in dump() 120 VPRecipeBase *VPValue::getDefiningRecipe() { in getDefiningRecipe() 121 return cast_or_null<VPRecipeBase>(Def); in getDefiningRecipe() 124 const VPRecipeBase *VPValue::getDefiningRecipe() const { in getDefiningRecipe() 125 return cast_or_null<VPRecipeBase>(Def); in getDefiningRecipe() 356 BasicBlock *VPTransformState::CFGState::getPreheaderBBFor(VPRecipeBase *R) { in getPreheaderBBFor() 528 for (VPRecipeBase &R : Recipes) { in dropAllReferences() 544 for (VPRecipeBase &Recipe : Recipes) in executeRecipes() [all …]
|
| H A D | VPlanPatternMatch.h | 116 static bool match(const VPRecipeBase *R) { 124 static bool match(const VPRecipeBase *R) { 142 bool match(const VPRecipeBase *R) { 174 return match(static_cast<const VPRecipeBase *>(R)); 177 bool match(const VPRecipeBase *R) { 313 bool match(const VPRecipeBase *R) { return isa<VPCanonicalIVPHIRecipe>(R); } 331 bool match(const VPRecipeBase *R) {
|
| H A D | VPlanVerifier.cpp | 123 DenseMap<const VPRecipeBase *, unsigned> RecipeNumbering; in verifyVPBasicBlock() 125 for (const VPRecipeBase &R : *VPBB) in verifyVPBasicBlock() 128 for (const VPRecipeBase &R : *VPBB) { in verifyVPBasicBlock() 131 auto *UI = dyn_cast<VPRecipeBase>(U); in verifyVPBasicBlock()
|
| H A D | VPlanAnalysis.h | 27 class VPRecipeBase; variable 69 DenseSet<VPRecipeBase *> &EphRecipes);
|
| H A D | VPlanValue.h | 38 class VPRecipeBase; variable 52 friend class VPRecipeBase; variable 160 VPRecipeBase *getDefiningRecipe(); 161 const VPRecipeBase *getDefiningRecipe() const;
|
| H A D | VPlanRecipes.cpp | 47 bool VPRecipeBase::mayWriteToMemory() const { in mayWriteToMemory() 89 bool VPRecipeBase::mayReadFromMemory() const { in mayReadFromMemory() 129 bool VPRecipeBase::mayHaveSideEffects() const { in mayHaveSideEffects() 202 VPRecipeBase *ExitingRecipe = ExitValue->getDefiningRecipe(); in fixPhi() 230 void VPRecipeBase::insertBefore(VPRecipeBase *InsertPos) { in insertBefore() 237 void VPRecipeBase::insertBefore(VPBasicBlock &BB, in insertBefore() 238 iplist<VPRecipeBase>::iterator I) { in insertBefore() 244 void VPRecipeBase::insertAfter(VPRecipeBase *InsertPos) { in insertAfter() 251 void VPRecipeBase::removeFromParent() { in removeFromParent() 257 iplist<VPRecipeBase>::iterator VPRecipeBase::eraseFromParent() { in eraseFromParent() [all …]
|
| H A D | LoopVectorizationPlanner.h | 71 VPBuilder(VPRecipeBase *InsertPt) { setInsertPoint(InsertPt); } in VPBuilder() 84 static VPBuilder getToInsertAfter(VPRecipeBase *R) { in getToInsertAfter() 135 void setInsertPoint(VPRecipeBase *IP) { in setInsertPoint()
|
| H A D | LoopVectorize.cpp | 3095 for (VPRecipeBase &P : VPBB->phis()) { in fixNonInductionPHIs() 4423 DenseSet<VPRecipeBase *> EphemeralRecipes; in willGenerateVectors() 4429 for (VPRecipeBase &R : *VPBB) { in willGenerateVectors() 7360 for (VPRecipeBase &R : *ExitVPBB) { in executePlan() 8180 VPRecipeBase *IncR = in fixHeaderPhis() 8248 VPRecipeBase * 8254 VPRecipeBase *Recipe; in tryToCreateWidenRecipe() 8573 VPRecipeBase *Recipe = in tryToBuildVPlanWithVPRecipes() 8649 VPRecipeBase *MemberR = RecipeBuilder.getRecipe(Member); in tryToBuildVPlanWithVPRecipes() 8775 for (VPRecipeBase &R : Header->phis()) { in adjustRecipesForReductions() [all …]
|