Home
last modified time | relevance | path

Searched refs:VPlan (Results 1 – 23 of 23) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanTransforms.h40 static bool runPass(bool (*Transform)(VPlan &, ArgsTy...), VPlan &Plan, in runPass()
50 static void runPass(void (*Fn)(VPlan &, ArgsTy...), VPlan &Plan, in runPass()
57 LLVM_ABI_FOR_TEST static std::unique_ptr<VPlan> buildPlainCFG(Loop *TheLoop,
69 VPlan &Plan, Type *InductionTy, PredicatedScalarEvolution &PSE,
75 LLVM_ABI_FOR_TEST static void createLoopRegions(VPlan &Plan);
80 static void attachCheckBlock(VPlan &Plan, Value *Cond, BasicBlock *CheckBlock,
100 static bool adjustFixedOrderRecurrences(VPlan &Plan, VPBuilder &Builder);
106 static bool handleMaxMinNumReductions(VPlan &Plan);
109 static void clearReductionWrapFlags(VPlan &Plan);
112 static void unrollByUF(VPlan &Plan, unsigned UF, LLVMContext &Ctx);
[all …]
H A DVPlanAnalysis.h30 class VPlan; variable
64 VPTypeAnalysis(const VPlan &Plan);
74 void collectEphemeralRecipesForVPlan(VPlan &Plan,
97 VPlan &Plan, ArrayRef<ElementCount> VFs, const TargetTransformInfo &TTI,
H A DVPlanHelpers.h41 class VPlan; variable
208 IRBuilderBase &Builder, VPlan *Plan, Loop *CurrentParentLoop,
331 VPlan *Plan;
397 void assignNames(const VPlan &Plan);
402 VPSlotTracker(const VPlan *Plan = nullptr) {
418 const VPlan &Plan;
457 VPlanPrinter(raw_ostream &O, const VPlan &P) in VPlanPrinter()
H A DVPlan.cpp155 VPlan *VPBlockBase::getPlan() { return getPlanEntry(this)->Plan; } in getPlan()
157 const VPlan *VPBlockBase::getPlan() const { return getPlanEntry(this)->Plan; } in getPlan()
174 void VPBlockBase::setPlan(VPlan *ParentPlan) { in setPlan()
246 IRBuilderBase &Builder, VPlan *Plan, in VPTransformState()
921 VPlan::VPlan(Loop *L) { in VPlan() function in VPlan
931 VPlan::~VPlan() { in ~VPlan()
954 void VPlan::prepareToExecute(Value *TripCountV, Value *VectorTripCountV, in prepareToExecute()
981 VPIRBasicBlock *VPlan::getExitBlock(BasicBlock *IRBB) const { in getExitBlock()
989 bool VPlan::isExitBlock(VPBlockBase *VPBB) { in isExitBlock()
996 void VPlan::execute(VPTransformState *State) { in execute()
[all …]
H A DVPlanVerifier.h30 class VPlan; variable
40 LLVM_ABI_FOR_TEST bool verifyVPlanIsValid(const VPlan &Plan,
H A DVPlanConstruction.cpp40 std::unique_ptr<VPlan> Plan;
68 : TheLoop(Lp), LI(LI), Plan(std::make_unique<VPlan>(Lp)) {} in PlainCFGBuilder()
71 std::unique_ptr<VPlan> buildPlainCFG();
246 std::unique_ptr<VPlan> PlainCFGBuilder::buildPlainCFG() { in buildPlainCFG()
341 std::unique_ptr<VPlan> VPlanTransforms::buildPlainCFG(Loop *TheLoop, in buildPlainCFG()
401 static void createLoopRegion(VPlan &Plan, VPBlockBase *HeaderVPB) { in createLoopRegion()
428 static void addCanonicalIVRecipes(VPlan &Plan, VPBasicBlock *HeaderVPBB, in addCanonicalIVRecipes()
459 VPlan &Plan, Type *InductionTy, PredicatedScalarEvolution &PSE, in prepareForVectorization()
582 void VPlanTransforms::createLoopRegions(VPlan &Plan) { in createLoopRegions()
598 void VPlanTransforms::attachCheckBlock(VPlan &Plan, Value *Cond, in attachCheckBlock()
[all …]
H A DVPlanTransforms.cpp124 static bool sinkScalarOperands(VPlan &Plan) { in sinkScalarOperands()
245 static bool mergeReplicateRegionsIntoSuccessors(VPlan &Plan) { in mergeReplicateRegionsIntoSuccessors()
335 VPlan &Plan) { in createReplicateRegion()
377 static void addReplicateRegions(VPlan &Plan) { in addReplicateRegions()
409 static bool mergeBlocksIntoPredecessors(VPlan &Plan) { in mergeBlocksIntoPredecessors()
443 void VPlanTransforms::createAndOptimizeReplicateRegions(VPlan &Plan) { in createAndOptimizeReplicateRegions()
461 static void removeRedundantInductionCasts(VPlan &Plan) { in removeRedundantInductionCasts()
494 static void removeRedundantCanonicalIVs(VPlan &Plan) { in removeRedundantCanonicalIVs()
549 void VPlanTransforms::removeDeadRecipes(VPlan &Plan) { in removeDeadRecipes()
564 createScalarIVSteps(VPlan &Plan, InductionDescriptor::InductionKind Kind, in createScalarIVSteps()
[all …]
H A DVPlanDominatorTree.h30 using ParentPtr = VPlan *;
43 explicit VPDominatorTree(VPlan &Plan) { recalculate(Plan); }
H A DVPlanUtils.cpp27 VPValue *vputils::getOrCreateVPValueForSCEVExpr(VPlan &Plan, const SCEV *Expr, in getOrCreateVPValueForSCEVExpr()
51 bool vputils::isHeaderMask(const VPValue *V, VPlan &Plan) { in isHeaderMask()
131 VPBasicBlock *vputils::getFirstLoopHeader(VPlan &Plan, VPDominatorTree &VPDT) { in getFirstLoopHeader()
H A DVPlanSLP.h27 class VPlan; variable
50 LLVM_ABI_FOR_TEST VPInterleavedAccessInfo(VPlan &Plan,
H A DVPlanUtils.h33 VPValue *getOrCreateVPValueForSCEVExpr(VPlan &Plan, const SCEV *Expr,
89 bool isHeaderMask(const VPValue *V, VPlan &Plan);
99 VPBasicBlock *getFirstLoopHeader(VPlan &Plan, VPDominatorTree &VPDT);
H A DVPlanVerifier.cpp68 bool verify(const VPlan &Plan);
430 bool VPlanVerifier::verify(const VPlan &Plan) { in verify()
483 bool llvm::verifyVPlanIsValid(const VPlan &Plan, bool VerifyLate) { in verifyVPlanIsValid()
485 VPDT.recalculate(const_cast<VPlan &>(Plan)); in verifyVPlanIsValid()
H A DLoopVectorizationPlanner.h455 InstructionCost cost(VPlan &Plan, ElementCount VF) const;
460 InstructionCost precomputeCosts(VPlan &Plan, ElementCount VF,
484 VPlan &getPlanFor(ElementCount VF) const;
501 VPlan &BestPlan,
572 void attachRuntimeChecks(VPlan &Plan, GeneratedRTChecks &RTChecks,
H A DVPlanUnroll.cpp39 VPlan &Plan;
77 UnrollState(VPlan &Plan, unsigned UF, LLVMContext &Ctx) in UnrollState()
401 void VPlanTransforms::unrollByUF(VPlan &Plan, unsigned UF, LLVMContext &Ctx) { in unrollByUF()
459 static VPReplicateRecipe *cloneForLane(VPlan &Plan, VPBuilder &Builder, in cloneForLane()
494 void VPlanTransforms::replicateByVF(VPlan &Plan, ElementCount VF) { in replicateByVF()
H A DVPRecipeBuilder.h49 VPlan &Plan;
147 VPRecipeBuilder(VPlan &Plan, Loop *OrigLoop, const TargetLibraryInfo *TLI, in VPRecipeBuilder()
H A DVPlanCFG.h301 template <> struct GraphTraits<VPlan *> {
302 using GraphRef = VPlan *;
H A DVPlan.h63 class VPlan; variable
77 using VPlanPtr = std::unique_ptr<VPlan>;
101 VPlan *Plan = nullptr;
177 VPlan *getPlan();
178 const VPlan *getPlan() const;
182 void setPlan(VPlan *ParentPlan);
3563 friend class VPlan;
3716 friend class VPlan;
3751 friend class VPlan;
3853 class VPlan {
[all …]
H A DVPlanAnalysis.cpp24 VPTypeAnalysis::VPTypeAnalysis(const VPlan &Plan) in VPTypeAnalysis()
316 VPlan &Plan, DenseSet<VPRecipeBase *> &EphRecipes) { in collectEphemeralRecipesForVPlan()
415 VPlan &Plan, ArrayRef<ElementCount> VFs, const TargetTransformInfo &TTI, in calculateRegisterUsageForPlan()
H A DLoopVectorize.cpp489 GeneratedRTChecks &RTChecks, VPlan &Plan) in InnerLoopVectorizer()
628 VPlan &Plan;
647 VPlan &EpiloguePlan;
651 VPlan &EpiloguePlan) in EpilogueLoopVectorizationInfo()
674 ProfileSummaryInfo *PSI, GeneratedRTChecks &Checks, VPlan &Plan) in InnerLoopAndEpilogueVectorizer()
711 ProfileSummaryInfo *PSI, GeneratedRTChecks &Check, VPlan &Plan) in EpilogueVectorizerMainLoop()
738 ProfileSummaryInfo *PSI, GeneratedRTChecks &Checks, VPlan &Plan) in EpilogueVectorizerEpilogueLoop()
963 unsigned selectInterleaveCount(VPlan &Plan, ElementCount VF,
4127 static bool willGenerateVectors(VPlan &Plan, ElementCount VF, in willGenerateVectors()
4223 static bool hasReplicatorRegion(VPlan &Plan) { in hasReplicatorRegion()
[all …]
H A DVPlanPredicator.cpp264 VPlanTransforms::introduceMasksAndLinearize(VPlan &Plan, bool FoldTail) { in introduceMasksAndLinearize()
H A DVPlanValue.h52 friend class VPlan; variable
H A DVPlanSLP.cpp92 VPInterleavedAccessInfo::VPInterleavedAccessInfo(VPlan &Plan, in VPInterleavedAccessInfo()
/freebsd/lib/clang/libllvm/
H A DMakefile2157 SRCS_MIN+= Transforms/Vectorize/VPlan.cpp