/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | VPlanTransforms.h | 23 /// Replaces the VPInstructions in \p Plan with corresponding 26 Loop *OrigLoop, VPlanPtr &Plan,
|
H A D | VPlanHCFGBuilder.h | 48 VPlan &Plan; member in class:llvm::VPlanHCFGBuilder 64 : TheLoop(Lp), LI(LI), Plan(P) {} 66 /// Build H-CFG for TheLoop and update Plan accordingly.
|
H A D | VPlanTransforms.cpp | 20 Loop *OrigLoop, VPlanPtr &Plan, 24 auto *TopRegion = cast<VPRegionBlock>(Plan->getEntry()); 35 Plan->addCBV(NCondBit); 59 *Load, Plan->getOrAddVPValue(getLoadStorePointerOperand(Inst)), 63 *Store, Plan->getOrAddVPValue(getLoadStorePointerOperand(Inst)), 64 Plan->getOrAddVPValue(Store->getValueOperand()), nullptr /*Mask*/); 74 GEP, Plan->mapToVPValues(GEP->operands()), OrigLoop); 77 new VPWidenRecipe(*Inst, Plan->mapToVPValues(Inst->operands())); 19 VPInstructionsToVPRecipes( Loop *OrigLoop, VPlanPtr &Plan, LoopVectorizationLegality::InductionList &Inductions, SmallPtrSetImpl<Instruction *> &DeadInstructions) argument
|
H A D | VPRecipeBuilder.h | 65 tryToWidenMemory(Instruction *I, VFRange &Range, VPlanPtr &Plan); 79 VPBlendRecipe *tryToBlend(PHINode *Phi, VPlanPtr &Plan); 85 VPlan &Plan) const; 90 VPWidenRecipe *tryToWiden(Instruction *I, VPlan &Plan) const; 103 VPlanPtr &Plan); 118 VPValue *createBlockInMask(BasicBlock *BB, VPlanPtr &Plan); 122 VPValue *createEdgeMask(BasicBlock *Src, BasicBlock *Dst, VPlanPtr &Plan); 144 VPlanPtr &Plan); 155 VPlanPtr &Plan);
|
H A D | VPlanPredicator.h | 32 VPlan &Plan; member in class:llvm::VPlanPredicator 34 // VPLoopInfo for Plan's HCFG. 37 // Dominator tree for Plan's HCFG. 68 VPlanPredicator(VPlan &Plan); 70 /// Predicate Plan's HCFG.
|
H A D | VPlanPredicator.cpp | 236 predicateRegionRec(cast<VPRegionBlock>(Plan.getEntry())); 239 linearizeRegionRec(cast<VPRegionBlock>(Plan.getEntry())); 242 VPlanPredicator::VPlanPredicator(VPlan &Plan) argument 243 : Plan(Plan), VPLI(&(Plan.getVPLoopInfo())) { 247 VPDomTree.recalculate(*(cast<VPRegionBlock>(Plan.getEntry())));
|
H A D | VPlanHCFGBuilder.cpp | 43 VPlan &Plan; member in class:__anon4785::PlainCFGBuilder 74 : TheLoop(Lp), LI(LI), Plan(P) {} 184 Plan.addExternalDef(NewVPVal); 331 PlainCFGBuilder PCFGBuilder(TheLoop, LI, Plan); 339 Plan.setEntry(TopRegion); 340 LLVM_DEBUG(Plan.setName("HCFGBuilder: Plain CFG\n"); dbgs() << Plan); 349 // Compute VPLInfo and keep it in Plan. 350 VPLoopInfo &VPLInfo = Plan.getVPLoopInfo();
|
H A D | VPlan.cpp | 1 //===- VPlan.cpp - Vectorizer Plan ----------------------------------------===// 88 VPlan *VPBlockBase::getPlan() { return getPlanEntry(this)->Plan; } 90 const VPlan *VPBlockBase::getPlan() const { return getPlanEntry(this)->Plan; } 110 Plan = ParentPlan; 601 OS << "graph [labelloc=t, fontsize=30; label=\"Vectorization Plan"; 602 if (!Plan.getName().empty()) 603 OS << "\\n" << DOT::EscapeString(Plan.getName()); 604 if (Plan.BackedgeTakenCount) { 606 Plan.BackedgeTakenCount->print(OS, SlotTracker); 614 for (const VPBlockBase *Block : depth_first(Plan 920 VPInterleavedAccessInfo(VPlan &Plan, InterleavedAccessInfo &IAI) argument 960 assignSlots(const VPlan &Plan) argument [all...] |
H A D | VPlanValue.h | 1 //===- VPlanValue.h - Represent Values in Vectorizer Plan -----------------===// 205 void assignSlots(const VPlan &Plan); 208 VPSlotTracker(const VPlan *Plan) { 209 if (Plan) 210 assignSlots(*Plan);
|
H A D | LoopVectorizationPlanner.h | 242 /// Plan how to best vectorize, return the best VF and its cost, or None if 258 for (const auto &Plan : VPlans) 259 O << *Plan; local
|
H A D | LoopVectorize.cpp | 6629 erase_if(VPlans, [VF](const VPlanPtr &Plan) { 6630 return !Plan->hasVF(VF); 6785 VPlanPtr &Plan) { 6794 VPValue *SrcMask = createBlockInMask(Src, Plan); 6803 VPValue *EdgeMask = Plan->getVPValue(BI->getCondition()); 6815 VPValue *VPRecipeBuilder::createBlockInMask(BasicBlock *BB, VPlanPtr &Plan) { 6836 IV = Plan->getVPValue(Legal->getPrimaryInduction()); 6842 VPValue *BTC = Plan->getOrCreateBackedgeTakenCount(); 6853 VPValue *EdgeMask = createEdgeMask(Predecessor, BB, Plan); 6870 VPlanPtr &Plan) { [all...] |
H A D | VPlan.h | 1 //===- VPlan.h - Represent A Vectorizer Plan --------------------*- C++ -*-===// 10 /// This file contains the declarations of the Vectorization Plan base classes: 381 VPlan *Plan = nullptr; 1677 friend inline raw_ostream &operator<<(raw_ostream &OS, const VPlan &Plan); 1683 const VPlan &Plan; 1693 : OS(O), Plan(P), SlotTracker(&P) {} 1698 /// Print a given \p Block of the Plan. 1709 /// Print a given \p Region of the Plan. 1740 inline raw_ostream &operator<<(raw_ostream &OS, const VPlan &Plan) { 1741 VPlanPrinter Printer(OS, Plan); [all...] |