Home
last modified time | relevance | path

Searched refs:VPRecipeBase (Results 1 – 9 of 9) sorted by relevance

/openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/
H A DVPlan.h350 BasicBlock *getPreheaderBBFor(VPRecipeBase *R);
375 SmallPtrSet<VPRecipeBase *, 16> MayGeneratePoisonRecipes;
664 class VPRecipeBase : public ilist_node_with_parent<VPRecipeBase, VPBasicBlock>,
674 VPRecipeBase(const unsigned char SC, ArrayRef<VPValue *> Operands) in VPRecipeBase() function
678 VPRecipeBase(const unsigned char SC, iterator_range<IterT> Operands) in VPRecipeBase() function
680 virtual ~VPRecipeBase() = default;
692 void insertBefore(VPRecipeBase *InsertPos);
695 void insertBefore(VPBasicBlock &BB, iplist<VPRecipeBase>::iterator IP);
699 void insertAfter(VPRecipeBase *InsertPos);
703 void moveAfter(VPRecipeBase *MovePos);
[all …]
H A DVPRecipeBuilder.h24 using VPRecipeOrVPValueTy = PointerUnion<VPRecipeBase *, VPValue *>;
57 DenseMap<Instruction *, VPRecipeBase *> Ingredient2Recipe;
72 VPRecipeBase *tryToWidenMemory(Instruction *I, ArrayRef<VPValue *> Operands,
77 VPRecipeBase *tryToOptimizeInductionPHI(PHINode *Phi,
103 VPRecipeBase *tryToWiden(Instruction *I, ArrayRef<VPValue *> Operands,
107 VPRecipeOrVPValueTy toVPRecipeResult(VPRecipeBase *R) const { return R; } in toVPRecipeResult()
128 void setRecipe(Instruction *I, VPRecipeBase *R) { in setRecipe()
154 VPRecipeBase *getRecipe(Instruction *I) { in getRecipe()
H A DVPlanTransforms.cpp34 VPRecipeBase *Term = VPBB->getTerminator(); in VPInstructionsToVPRecipes()
37 for (VPRecipeBase &Ingredient : in VPInstructionsToVPRecipes()
49 VPRecipeBase *NewRecipe = nullptr; in VPInstructionsToVPRecipes()
114 SetVector<std::pair<VPBasicBlock *, VPRecipeBase *>> WorkList; in sinkScalarOperands()
133 VPRecipeBase *SinkCandidate; in sinkScalarOperands()
152 auto *UI = dyn_cast<VPRecipeBase>(U); in sinkScalarOperands()
176 auto *UI = cast<VPRecipeBase>(U); in sinkScalarOperands()
274 for (VPRecipeBase &ToMove : make_early_inc_range(reverse(*Then1))) in mergeReplicateRegionsIntoSuccessors()
283 for (VPRecipeBase &Phi1ToMove : make_early_inc_range(reverse(*Merge1))) { in mergeReplicateRegionsIntoSuccessors()
288 auto *UI = dyn_cast<VPRecipeBase>(U); in mergeReplicateRegionsIntoSuccessors()
[all …]
H A DVPlan.cpp90 if (const VPRecipeBase *R = dyn_cast_or_null<VPRecipeBase>(Def)) in print()
97 const VPRecipeBase *Instr = dyn_cast_or_null<VPRecipeBase>(this->Def); in dump()
105 const VPRecipeBase *Instr = dyn_cast_or_null<VPRecipeBase>(this); in dump()
113 VPRecipeBase *VPValue::getDefiningRecipe() { in getDefiningRecipe()
114 return cast_or_null<VPRecipeBase>(Def); in getDefiningRecipe()
117 const VPRecipeBase *VPValue::getDefiningRecipe() const { in getDefiningRecipe()
118 return cast_or_null<VPRecipeBase>(Def); in getDefiningRecipe()
232 BasicBlock *VPTransformState::CFGState::getPreheaderBBFor(VPRecipeBase *R) { in getPreheaderBBFor()
383 for (VPRecipeBase &Recipe : Recipes) in execute()
390 for (VPRecipeBase &R : Recipes) { in dropAllReferences()
[all …]
H A DVPlanVerifier.cpp200 DenseMap<const VPRecipeBase *, unsigned> RecipeNumbering; in verifyVPBasicBlock()
202 for (const VPRecipeBase &R : *VPBB) in verifyVPBasicBlock()
205 for (const VPRecipeBase &R : *VPBB) { in verifyVPBasicBlock()
208 auto *UI = dyn_cast<VPRecipeBase>(U); in verifyVPBasicBlock()
H A DVPlanRecipes.cpp42 bool VPRecipeBase::mayWriteToMemory() const { in mayWriteToMemory()
74 bool VPRecipeBase::mayReadFromMemory() const { in mayReadFromMemory()
106 bool VPRecipeBase::mayHaveSideEffects() const { in mayHaveSideEffects()
146 void VPRecipeBase::insertBefore(VPRecipeBase *InsertPos) { in insertBefore()
154 void VPRecipeBase::insertBefore(VPBasicBlock &BB, in insertBefore()
155 iplist<VPRecipeBase>::iterator I) { in insertBefore()
162 void VPRecipeBase::insertAfter(VPRecipeBase *InsertPos) { in insertAfter()
170 void VPRecipeBase::removeFromParent() { in removeFromParent()
176 iplist<VPRecipeBase>::iterator VPRecipeBase::eraseFromParent() { in eraseFromParent()
181 void VPRecipeBase::moveAfter(VPRecipeBase *InsertPos) { in moveAfter()
[all …]
H A DVPlanValue.h37 class VPRecipeBase; variable
52 friend class VPRecipeBase; variable
168 VPRecipeBase *getDefiningRecipe();
169 const VPRecipeBase *getDefiningRecipe() const;
H A DLoopVectorize.cpp1040 SmallPtrSet<VPRecipeBase *, 16> Visited; in collectPoisonGeneratingRecipes()
1041 auto collectPoisonGeneratingInstrsInBackwardSlice([&](VPRecipeBase *Root) { in collectPoisonGeneratingRecipes()
1042 SmallVector<VPRecipeBase *, 16> Worklist; in collectPoisonGeneratingRecipes()
1047 VPRecipeBase *CurRec = Worklist.back(); in collectPoisonGeneratingRecipes()
1073 if (VPRecipeBase *OpDef = operand->getDefiningRecipe()) in collectPoisonGeneratingRecipes()
1083 for (VPRecipeBase &Recipe : *VPBB) { in collectPoisonGeneratingRecipes()
1086 VPRecipeBase *AddrDef = WidenRec->getAddr()->getDefiningRecipe(); in collectPoisonGeneratingRecipes()
1091 VPRecipeBase *AddrDef = InterleaveRec->getAddr()->getDefiningRecipe(); in collectPoisonGeneratingRecipes()
3737 for (VPRecipeBase &R : Header->phis()) { in fixCrossIterationPHIs()
4079 auto *UserRecipe = dyn_cast<VPRecipeBase>(U); in clearReductionWrapFlags()
[all …]
/openbsd-src/gnu/llvm/llvm/docs/Proposals/
H A DVectorizationPlan.rst140 :VPRecipeBase: