diff options
author | Florian Hahn <flo@fhahn.com> | 2019-05-30 18:46:13 +0000 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2019-05-30 18:46:13 +0000 |
commit | 9bbdde259803f8a02d992a0d47b174a1efc8442f (patch) | |
tree | fe8389043e2209798094752209a09e00bca32043 /llvm/lib/Transforms/Vectorize | |
parent | ec1b4d1f6fb0fe0c11ef4532db0c657067baf14c (diff) | |
download | bcm5719-llvm-9bbdde259803f8a02d992a0d47b174a1efc8442f.tar.gz bcm5719-llvm-9bbdde259803f8a02d992a0d47b174a1efc8442f.zip |
[LV] Remove the redundant using LoopVectorizationPlanner:VPlanPtr
VPlan.h already contains the declaration of VPlanPtr type alias:
using VPlanPtr = std::unique_ptr<VPlan>;
The LoopVectorizationPlanner class also contains the same declaration
of VPlanPtr and therefore LoopVectorize requires a long wording when
its methods return VPlanPtr:
LoopVectorizationPlanner::VPlanPtr
LoopVectorizationPlanner::buildVPlanWithVPRecipes(...)
but LoopVectorize.cpp includes VPlan.h (via LoopVectorizationPlanner.h)
and can use VPlanPtr from that header.
Patch by Pavel Samolysov.
Reviewers: hsaito, rengolin, fhahn
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D62576
llvm-svn: 362126
Diffstat (limited to 'llvm/lib/Transforms/Vectorize')
-rw-r--r-- | llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h | 4 | ||||
-rw-r--r-- | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | 7 |
2 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h b/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h index 8b7cf300eef..97077cce83e 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h +++ b/llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h @@ -198,11 +198,9 @@ class LoopVectorizationPlanner { /// The legality analysis. LoopVectorizationLegality *Legal; - /// The profitablity analysis. + /// The profitability analysis. LoopVectorizationCostModel &CM; - using VPlanPtr = std::unique_ptr<VPlan>; - SmallVector<VPlanPtr, 4> VPlans; /// This class is used to enable the VPlan to invoke a method of ILV. This is diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp index a43a76724c8..79528e5927e 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -56,6 +56,7 @@ #include "llvm/Transforms/Vectorize/LoopVectorize.h" #include "LoopVectorizationPlanner.h" #include "VPRecipeBuilder.h" +#include "VPlan.h" #include "VPlanHCFGBuilder.h" #include "VPlanHCFGTransforms.h" #include "VPlanPredicator.h" @@ -6829,8 +6830,7 @@ void LoopVectorizationPlanner::buildVPlansWithVPRecipes(unsigned MinVF, } } -LoopVectorizationPlanner::VPlanPtr -LoopVectorizationPlanner::buildVPlanWithVPRecipes( +VPlanPtr LoopVectorizationPlanner::buildVPlanWithVPRecipes( VFRange &Range, SmallPtrSetImpl<Value *> &NeedDef, SmallPtrSetImpl<Instruction *> &DeadInstructions) { // Hold a mapping from predicated instructions to their recipes, in order to @@ -6954,8 +6954,7 @@ LoopVectorizationPlanner::buildVPlanWithVPRecipes( return Plan; } -LoopVectorizationPlanner::VPlanPtr -LoopVectorizationPlanner::buildVPlan(VFRange &Range) { +VPlanPtr LoopVectorizationPlanner::buildVPlan(VFRange &Range) { // Outer loop handling: They may require CFG and instruction level // transformations before even evaluating whether vectorization is profitable. // Since we cannot modify the incoming IR, we need to build VPlan upfront in |