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 |