/external/llvm-project/llvm/docs/Proposals/ |
D | VectorizationPlan.rst | 27 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 …]
|
D | VectorPredication.rst | 35 Result: VP usable for IR-level vectorizers (LV, VPlan, RegionVectorizer),
|
/external/llvm-project/llvm/test/Transforms/LoopVectorize/ |
D | vplan_hcfg_stress_test.ll | 5 ; 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.
|
D | vplan-stress-test-no-explict-vf.ll | 4 ; 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.
|
D | optsize.ll | 344 ; 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/ |
D | VPlanHCFGBuilder.h | 48 VPlan &Plan; 63 VPlanHCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in VPlanHCFGBuilder()
|
D | VPlanPredicator.h | 32 VPlan &Plan; 68 VPlanPredicator(VPlan &Plan);
|
D | CMakeLists.txt | 7 VPlan.cpp
|
D | VPlan.h | 62 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);
|
D | VPlanHCFGBuilder.cpp | 43 VPlan &Plan; 73 PlainCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in PlainCFGBuilder()
|
D | VPlan.cpp | 391 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()
|
D | VPlanPredicator.cpp | 242 VPlanPredicator::VPlanPredicator(VPlan &Plan) in VPlanPredicator()
|
/external/llvm-project/llvm/lib/Transforms/Vectorize/ |
D | VPlanHCFGBuilder.h | 48 VPlan &Plan; 63 VPlanHCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in VPlanHCFGBuilder()
|
D | VPlanPredicator.h | 32 VPlan &Plan; 68 VPlanPredicator(VPlan &Plan);
|
D | VPRecipeBuilder.h | 85 VPlan &Plan) const; 90 VPWidenRecipe *tryToWiden(Instruction *I, VPlan &Plan) const;
|
D | VPlan.h | 60 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 …]
|
D | VPlanValue.h | 298 class VPlan; variable 314 void assignSlots(const VPlan &Plan); 317 VPSlotTracker(const VPlan *Plan) { in VPSlotTracker()
|
D | CMakeLists.txt | 8 VPlan.cpp
|
D | VPlan.cpp | 183 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()
|
D | VPlanHCFGBuilder.cpp | 43 VPlan &Plan; 73 PlainCFGBuilder(Loop *Lp, LoopInfo *LI, VPlan &P) in PlainCFGBuilder()
|
D | VPlanPredicator.cpp | 242 VPlanPredicator::VPlanPredicator(VPlan &Plan) in VPlanPredicator()
|
/external/llvm-project/llvm/unittests/Transforms/Vectorize/ |
D | VPlanTestBase.h | 53 auto Plan = std::make_unique<VPlan>(); in buildHCFG() 63 auto Plan = std::make_unique<VPlan>(); in buildPlainCFG()
|
D | VPlanTest.cpp | 217 VPlan Plan; in TEST() 233 VPlan Plan; in TEST() 250 VPlan Plan; in TEST() 277 VPlan Plan; in TEST() 317 VPlan Plan; in TEST()
|
D | VPlanSlpTest.cpp | 40 VPlan &Plan) { in getInterleavedAccessInfo()
|
/external/llvm-project/llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/ |
D | BUILD.gn | 14 "VPlan.cpp",
|