Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
Show First 20 Lines • Show All 192 Lines • ▼ Show 20 Lines | class LoopVectorizationPlanner { | ||||
const TargetLibraryInfo *TLI; | const TargetLibraryInfo *TLI; | ||||
/// Target Transform Info. | /// Target Transform Info. | ||||
const TargetTransformInfo *TTI; | const TargetTransformInfo *TTI; | ||||
/// The legality analysis. | /// The legality analysis. | ||||
LoopVectorizationLegality *Legal; | LoopVectorizationLegality *Legal; | ||||
/// The profitablity analysis. | /// The profitability analysis. | ||||
LoopVectorizationCostModel &CM; | LoopVectorizationCostModel &CM; | ||||
using VPlanPtr = std::unique_ptr<VPlan>; | |||||
SmallVector<VPlanPtr, 4> VPlans; | SmallVector<VPlanPtr, 4> VPlans; | ||||
/// This class is used to enable the VPlan to invoke a method of ILV. This is | /// This class is used to enable the VPlan to invoke a method of ILV. This is | ||||
/// needed until the method is refactored out of ILV and becomes reusable. | /// needed until the method is refactored out of ILV and becomes reusable. | ||||
struct VPCallbackILV : public VPCallback { | struct VPCallbackILV : public VPCallback { | ||||
InnerLoopVectorizer &ILV; | InnerLoopVectorizer &ILV; | ||||
VPCallbackILV(InnerLoopVectorizer &ILV) : ILV(ILV) {} | VPCallbackILV(InnerLoopVectorizer &ILV) : ILV(ILV) {} | ||||
▲ Show 20 Lines • Show All 76 Lines • Show Last 20 Lines |