LLVM 22.0.0git
|
Tunable parameters for passes in the default pipelines. More...
#include "llvm/Passes/PassBuilder.h"
Public Member Functions | |
LLVM_ABI | 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 | LoopInterchange |
Tuning option to enable/disable loop interchange. | |
bool | LoopFusion |
Tuning option to enable/disable loop fusion. Its default value is false. | |
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 41 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 312 of file PassBuilderPipelines.cpp.
References CallGraphProfile, EagerlyInvalidateAnalyses, EnableEagerlyInvalidateAnalyses, EnableLoopInterchange, EnableMergeFunctions, ForgetAllSCEVInLoopUnroll, llvm::ForgetSCEVInLoopUnroll, InlinerThreshold, LicmMssaNoAccForPromotionCap, LicmMssaOptCap, LoopFusion, LoopInterchange, 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 82 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
bool llvm::PipelineTuningOptions::EagerlyInvalidateAnalyses |
Definition at line 101 of file PassBuilder.h.
Referenced by 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 70 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
int llvm::PipelineTuningOptions::InlinerThreshold |
Tuning option to override the default inliner threshold.
Definition at line 92 of file PassBuilder.h.
Referenced by 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 78 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
unsigned llvm::PipelineTuningOptions::LicmMssaOptCap |
Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM.
Definition at line 74 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
bool llvm::PipelineTuningOptions::LoopFusion |
Tuning option to enable/disable loop fusion. Its default value is false.
Definition at line 66 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
bool llvm::PipelineTuningOptions::LoopInterchange |
Tuning option to enable/disable loop interchange.
Its default value is false.
Definition at line 63 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
bool llvm::PipelineTuningOptions::LoopInterleaving |
Tuning option to set loop interleaving on/off, set based on opt level.
Definition at line 48 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 59 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
bool llvm::PipelineTuningOptions::LoopVectorization |
Tuning option to enable/disable loop vectorization, set based on opt level.
Definition at line 52 of file PassBuilder.h.
Referenced by optimizeModule(), PipelineTuningOptions(), and setupOptionsForPipelineAlias().
bool llvm::PipelineTuningOptions::MergeFunctions |
Tuning option to enable/disable function merging.
Its default value is false.
Definition at line 89 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
bool llvm::PipelineTuningOptions::SLPVectorization |
Tuning option to enable/disable slp loop vectorization, set based on opt level.
Definition at line 56 of file PassBuilder.h.
Referenced by optimizeModule(), PipelineTuningOptions(), and setupOptionsForPipelineAlias().
bool llvm::PipelineTuningOptions::UnifiedLTO |
Definition at line 85 of file PassBuilder.h.
Referenced by PipelineTuningOptions().