Go to the source code of this file.
|
| STATISTIC (NumLoopsDistributed, "Number of loops distributed") |
|
static bool | runImpl (Function &F, LoopInfo *LI, DominatorTree *DT, ScalarEvolution *SE, OptimizationRemarkEmitter *ORE, std::function< const LoopAccessInfo &(Loop &)> &GetLAA) |
| Shared implementation between new and old PMs. More...
|
|
| INITIALIZE_PASS_BEGIN (LoopDistributeLegacy, LDIST_NAME, ldist_name, false, false) FunctionPass *llvm |
|
|
static cl::opt< bool > | LDistVerify ("loop-distribute-verify", cl::Hidden, cl::desc("Turn on DominatorTree and LoopInfo verification " "after Loop Distribution"), cl::init(false)) |
|
static cl::opt< bool > | DistributeNonIfConvertible ("loop-distribute-non-if-convertible", cl::Hidden, cl::desc("Whether to distribute into a loop that may not be " "if-convertible by the loop vectorizer"), cl::init(false)) |
|
static cl::opt< unsigned > | DistributeSCEVCheckThreshold ("loop-distribute-scev-check-threshold", cl::init(8), cl::Hidden, cl::desc("The maximum number of SCEV checks allowed for Loop " "Distribution")) |
|
static cl::opt< unsigned > | PragmaDistributeSCEVCheckThreshold ("loop-distribute-scev-check-threshold-with-pragma", cl::init(128), cl::Hidden, cl::desc("The maximum number of SCEV checks allowed for Loop " "Distribution for loop marked with #pragma loop distribute(enable)")) |
|
static cl::opt< bool > | EnableLoopDistribute ("enable-loop-distribute", cl::Hidden, cl::desc("Enable the new, experimental LoopDistribution Pass"), cl::init(false)) |
|
static const char | ldist_name [] = "Loop Distribution" |
|
|
static const char *const | LLVMLoopDistributeFollowupAll |
|
static const char *const | LLVMLoopDistributeFollowupCoincident |
|
static const char *const | LLVMLoopDistributeFollowupSequential |
|
static const char *const | LLVMLoopDistributeFollowupFallback |
|
◆ DEBUG_TYPE
◆ LDIST_NAME
#define LDIST_NAME "loop-distribute" |
◆ INITIALIZE_PASS_BEGIN()
◆ runImpl()
Shared implementation between new and old PMs.
Definition at line 962 of file LoopDistribute.cpp.
References llvm::AnalysisUsage::addPreserved(), llvm::AnalysisUsage::addRequired(), llvm::depth_first(), llvm::LoopBase< BlockT, LoopT >::empty(), EnableLoopDistribute, llvm::PassRegistry::getPassRegistry(), llvm::initializeLoopDistributeLegacyPass(), llvm::MipsISD::LDL, llvm::SmallVectorTemplateBase< T >::push_back(), and runOnFunction().
Referenced by llvm::LoopDistributePass::run().
◆ STATISTIC()
STATISTIC |
( |
NumLoopsDistributed |
, |
|
|
"Number of loops distributed" |
|
|
) |
| |
◆ DistributeNonIfConvertible
cl::opt<bool> DistributeNonIfConvertible("loop-distribute-non-if-convertible", cl::Hidden, cl::desc("Whether to distribute into a loop that may not be " "if-convertible by the loop vectorizer"), cl::init(false)) |
|
static |
◆ DistributeSCEVCheckThreshold
◆ EnableLoopDistribute
cl::opt<bool> EnableLoopDistribute("enable-loop-distribute", cl::Hidden, cl::desc("Enable the new, experimental LoopDistribution Pass"), cl::init(false)) |
|
static |
◆ ldist_name
const char ldist_name[] = "Loop Distribution" |
|
static |
◆ LDistVerify
◆ LLVMLoopDistributeFollowupAll
Initial value:=
"llvm.loop.distribute.followup_all"
Metadata attribute names
Definition at line 83 of file LoopDistribute.cpp.
◆ LLVMLoopDistributeFollowupCoincident
Initial value:=
"llvm.loop.distribute.followup_coincident"
Definition at line 85 of file LoopDistribute.cpp.
◆ LLVMLoopDistributeFollowupFallback
Initial value:=
"llvm.loop.distribute.followup_fallback"
Definition at line 89 of file LoopDistribute.cpp.
◆ LLVMLoopDistributeFollowupSequential
Initial value:=
"llvm.loop.distribute.followup_sequential"
Definition at line 87 of file LoopDistribute.cpp.
◆ PragmaDistributeSCEVCheckThreshold
cl::opt<unsigned> PragmaDistributeSCEVCheckThreshold("loop-distribute-scev-check-threshold-with-pragma", cl::init(128), cl::Hidden, cl::desc( "The maximum number of SCEV checks allowed for Loop " "Distribution for loop marked with #pragma loop distribute(enable)")) |
|
static |