Home
last modified time | relevance | path

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

12

/external/llvm-project/llvm/docs/Proposals/
DVectorizationPlan.rst27 VPlan-based vectorization involves three major steps, taking a "scenario-based
38 3. Execute Step: materialize the best VPlan. Note that this is the only step
48 The design of VPlan follows several high-level guidelines:
55 2. Align Cost & Execute: each VPlan must support both estimating the cost and
61 a. Outer-loop vectorization. In particular, VPlan must be able to model the
93 The low-level design of VPlan comprises of the following classes.
98 each VPlan modelling a distinct way to vectorize the loop or the loop nest.
99 Once the best VPlan is determined, including the best VF and UF, this VPlan
102 :VPlan:
104 candidate is represented using a Hierarchical CFG. VPlan supports estimating
[all …]
DVectorPredication.rst35 Result: VP usable for IR-level vectorizers (LV, VPlan, RegionVectorizer),
/external/llvm-project/llvm/test/Transforms/LoopVectorize/
Dvplan_hcfg_stress_test.ll5 ; Verify that the stress testing flag for the VPlan H-CFG builder works as
6 ; expected with and without enabling the VPlan H-CFG Verifier.
8 ; VERIFIER: Verifying VPlan H-CFG.
9 ; NO-VERIFIER-NOT: Verifying VPlan H-CFG.
Dvplan-stress-test-no-explict-vf.ll4 ; This test checks that, when stress testing VPlan, if the computed VF
7 ; CHECK: LV: VPlan computed VF 1.
8 ; CHECK: LV: VPlan stress testing: overriding computed VF.
Doptsize.ll344 ; Make sure we do not crash while building the VPlan for the loop with the
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Vectorize/
DVPlanHCFGBuilder.h48 VPlan &Plan;
63 VPlanHCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in VPlanHCFGBuilder()
DVPlanPredicator.h32 VPlan &Plan;
68 VPlanPredicator(VPlan &Plan);
DCMakeLists.txt7 VPlan.cpp
DVPlan.h62 class VPlan; variable
76 using VPlanPtr = std::unique_ptr<VPlan>;
1348 class VPlan {
1383 VPlan(VPBlockBase *Entry = nullptr) : Entry(Entry) {}
1385 ~VPlan() {
1470 friend inline raw_ostream &operator<<(raw_ostream &OS, const VPlan &Plan);
1476 const VPlan &Plan;
1483 VPlanPrinter(raw_ostream &O, const VPlan &P) : OS(O), Plan(P) {}
1530 inline raw_ostream &operator<<(raw_ostream &OS, const VPlan &Plan) {
1657 VPInterleavedAccessInfo(VPlan &Plan, InterleavedAccessInfo &IAI);
DVPlanHCFGBuilder.cpp43 VPlan &Plan;
73 PlainCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in PlainCFGBuilder()
DVPlan.cpp391 void VPlan::execute(VPTransformState *State) { in execute()
474 void VPlan::dump() const { dbgs() << *this << '\n'; } in dump()
477 void VPlan::updateDominatorTree(DominatorTree *DT, BasicBlock *LoopPreHeaderBB, in updateDominatorTree()
801 VPInterleavedAccessInfo::VPInterleavedAccessInfo(VPlan &Plan, in VPInterleavedAccessInfo()
DVPlanPredicator.cpp242 VPlanPredicator::VPlanPredicator(VPlan &Plan) in VPlanPredicator()
/external/llvm-project/llvm/lib/Transforms/Vectorize/
DVPlanHCFGBuilder.h48 VPlan &Plan;
63 VPlanHCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in VPlanHCFGBuilder()
DVPlanPredicator.h32 VPlan &Plan;
68 VPlanPredicator(VPlan &Plan);
DVPRecipeBuilder.h85 VPlan &Plan) const;
90 VPWidenRecipe *tryToWiden(Instruction *I, VPlan &Plan) const;
DVPlan.h60 class VPlan; variable
86 using VPlanPtr = std::unique_ptr<VPlan>;
400 VPlan *Plan = nullptr;
456 VPlan *getPlan();
457 const VPlan *getPlan() const;
461 void setPlan(VPlan *ParentPlan);
1658 class VPlan {
1697 VPlan(VPBlockBase *Entry = nullptr) : Entry(Entry) {
1702 ~VPlan() {
1815 friend inline raw_ostream &operator<<(raw_ostream &OS, const VPlan &Plan);
[all …]
DVPlanValue.h298 class VPlan; variable
314 void assignSlots(const VPlan &Plan);
317 VPSlotTracker(const VPlan *Plan) { in VPSlotTracker()
DCMakeLists.txt8 VPlan.cpp
DVPlan.cpp183 VPlan *VPBlockBase::getPlan() { return getPlanEntry(this)->Plan; } in getPlan()
185 const VPlan *VPBlockBase::getPlan() const { return getPlanEntry(this)->Plan; } in getPlan()
202 void VPBlockBase::setPlan(VPlan *ParentPlan) { in setPlan()
581 void VPlan::execute(VPTransformState *State) { in execute()
668 void VPlan::dump() const { dbgs() << *this << '\n'; } in dump()
671 void VPlan::updateDominatorTree(DominatorTree *DT, BasicBlock *LoopPreHeaderBB, in updateDominatorTree()
1117 VPInterleavedAccessInfo::VPInterleavedAccessInfo(VPlan &Plan, in VPInterleavedAccessInfo()
1157 void VPSlotTracker::assignSlots(const VPlan &Plan) { in assignSlots()
DVPlanHCFGBuilder.cpp43 VPlan &Plan;
73 PlainCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in PlainCFGBuilder()
DVPlanPredicator.cpp242 VPlanPredicator::VPlanPredicator(VPlan &Plan) in VPlanPredicator()
/external/llvm-project/llvm/unittests/Transforms/Vectorize/
DVPlanTestBase.h53 auto Plan = std::make_unique<VPlan>(); in buildHCFG()
63 auto Plan = std::make_unique<VPlan>(); in buildPlainCFG()
DVPlanTest.cpp217 VPlan Plan; in TEST()
233 VPlan Plan; in TEST()
250 VPlan Plan; in TEST()
277 VPlan Plan; in TEST()
317 VPlan Plan; in TEST()
DVPlanSlpTest.cpp40 VPlan &Plan) { in getInterleavedAccessInfo()
/external/llvm-project/llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/
DBUILD.gn14 "VPlan.cpp",

12