|
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 313 of file PassBuilderPipelines.cpp.
References CallGraphProfile, EagerlyInvalidateAnalyses, llvm::EnableEagerlyInvalidateAnalyses, llvm::EnableLoopInterchange, llvm::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().