forked from OSchip/llvm-project
[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
This commit is contained in:
parent
ec1b4d1f6f
commit
9bbdde2598
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue