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 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 311 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 85 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
bool llvm::PipelineTuningOptions::EagerlyInvalidateAnalyses |
Definition at line 104 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 73 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
int llvm::PipelineTuningOptions::InlinerThreshold |
Tuning option to override the default inliner threshold.
Definition at line 95 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 81 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 77 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 69 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 66 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 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 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 optimizeModule(), PipelineTuningOptions(), and setupOptionsForPipelineAlias().
bool llvm::PipelineTuningOptions::MergeFunctions |
Tuning option to enable/disable function merging.
Its default value is false.
Definition at line 92 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 59 of file PassBuilder.h.
Referenced by optimizeModule(), PipelineTuningOptions(), and setupOptionsForPipelineAlias().
bool llvm::PipelineTuningOptions::UnifiedLTO |
Definition at line 88 of file PassBuilder.h.
Referenced by PipelineTuningOptions().