LLVM 20.0.0git
|
Tunable parameters for passes in the default pipelines. More...
#include "llvm/Passes/PassBuilder.h"
Public Member Functions | |
PipelineTuningOptions () | |
Constructor sets pipeline tuning defaults based on cl::opts. | |
Public Attributes | |
bool | LoopInterleaving |
Tuning option to set loop interleaving on/off, set based on opt level. | |
bool | LoopVectorization |
Tuning option to enable/disable loop vectorization, set based on opt level. | |
bool | SLPVectorization |
Tuning option to enable/disable slp loop vectorization, set based on opt level. | |
bool | LoopUnrolling |
Tuning option to enable/disable loop unrolling. Its default value is true. | |
bool | ForgetAllSCEVInLoopUnroll |
Tuning option to forget all SCEV loops in LoopUnroll. | |
unsigned | LicmMssaOptCap |
Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM. | |
unsigned | LicmMssaNoAccForPromotionCap |
Tuning option to disable promotion to scalars in LICM with MemorySSA, if the number of access is too large. | |
bool | CallGraphProfile |
Tuning option to enable/disable call graph profile. | |
bool | UnifiedLTO |
bool | MergeFunctions |
Tuning option to enable/disable function merging. | |
int | InlinerThreshold |
Tuning option to override the default inliner threshold. | |
bool | EagerlyInvalidateAnalyses |
Tunable parameters for passes in the default pipelines.
Definition at line 44 of file PassBuilder.h.
PipelineTuningOptions::PipelineTuningOptions | ( | ) |
Constructor sets pipeline tuning defaults based on cl::opts.
Each option can be set in the PassBuilder when using a LLVM as a library.
Definition at line 316 of file PassBuilderPipelines.cpp.
References CallGraphProfile, EagerlyInvalidateAnalyses, EnableEagerlyInvalidateAnalyses, EnableMergeFunctions, ForgetAllSCEVInLoopUnroll, llvm::ForgetSCEVInLoopUnroll, InlinerThreshold, LicmMssaNoAccForPromotionCap, LicmMssaOptCap, LoopInterleaving, LoopUnrolling, LoopVectorization, MergeFunctions, llvm::SetLicmMssaNoAccForPromotionCap, llvm::SetLicmMssaOptCap, SLPVectorization, and UnifiedLTO.
bool llvm::PipelineTuningOptions::CallGraphProfile |
Tuning option to enable/disable call graph profile.
Its default value is that of the flag: -enable-npm-call-graph-profile
.
Definition at line 78 of file PassBuilder.h.
Referenced by llvm::PassBuilder::buildLTODefaultPipeline(), llvm::PassBuilder::buildModuleOptimizationPipeline(), and PipelineTuningOptions().
bool llvm::PipelineTuningOptions::EagerlyInvalidateAnalyses |
Definition at line 97 of file PassBuilder.h.
Referenced by llvm::PassBuilder::buildInlinerPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), llvm::PassBuilder::buildModuleInlinerPipeline(), llvm::PassBuilder::buildModuleOptimizationPipeline(), llvm::PassBuilder::buildModuleSimplificationPipeline(), and PipelineTuningOptions().
bool llvm::PipelineTuningOptions::ForgetAllSCEVInLoopUnroll |
Tuning option to forget all SCEV loops in LoopUnroll.
Its default value is that of the flag: -forget-scev-loop-unroll
.
Definition at line 66 of file PassBuilder.h.
Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), and PipelineTuningOptions().
int llvm::PipelineTuningOptions::InlinerThreshold |
Tuning option to override the default inliner threshold.
Definition at line 88 of file PassBuilder.h.
Referenced by llvm::PassBuilder::buildInlinerPipeline(), and PipelineTuningOptions().
unsigned llvm::PipelineTuningOptions::LicmMssaNoAccForPromotionCap |
Tuning option to disable promotion to scalars in LICM with MemorySSA, if the number of access is too large.
Definition at line 74 of file PassBuilder.h.
Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), llvm::PassBuilder::buildModuleOptimizationPipeline(), and PipelineTuningOptions().
unsigned llvm::PipelineTuningOptions::LicmMssaOptCap |
Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM.
Definition at line 70 of file PassBuilder.h.
Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), llvm::PassBuilder::buildModuleOptimizationPipeline(), and PipelineTuningOptions().
bool llvm::PipelineTuningOptions::LoopInterleaving |
Tuning option to set loop interleaving on/off, set based on opt level.
Definition at line 51 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
bool llvm::PipelineTuningOptions::LoopUnrolling |
Tuning option to enable/disable loop unrolling. Its default value is true.
Definition at line 62 of file PassBuilder.h.
Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), and PipelineTuningOptions().
bool llvm::PipelineTuningOptions::LoopVectorization |
Tuning option to enable/disable loop vectorization, set based on opt level.
Definition at line 55 of file PassBuilder.h.
Referenced by PipelineTuningOptions(), and llvm::LTOCodeGenerator::setOptLevel().
bool llvm::PipelineTuningOptions::MergeFunctions |
Tuning option to enable/disable function merging.
Its default value is false.
Definition at line 85 of file PassBuilder.h.
Referenced by llvm::PassBuilder::buildLTODefaultPipeline(), llvm::PassBuilder::buildModuleOptimizationPipeline(), llvm::PassBuilder::buildO0DefaultPipeline(), and PipelineTuningOptions().
bool llvm::PipelineTuningOptions::SLPVectorization |
Tuning option to enable/disable slp loop vectorization, set based on opt level.
Definition at line 59 of file PassBuilder.h.
Referenced by PipelineTuningOptions(), and llvm::LTOCodeGenerator::setOptLevel().
bool llvm::PipelineTuningOptions::UnifiedLTO |
Definition at line 81 of file PassBuilder.h.
Referenced by PipelineTuningOptions().