|
LLVM 24.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 |
| bool | DevirtualizeSpeculatively |
Tunable parameters for passes in the default pipelines.
Definition at line 42 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 169 of file PassBuilderPipelines.cpp.
References CallGraphProfile, DevirtualizeSpeculatively, EagerlyInvalidateAnalyses, ForgetAllSCEVInLoopUnroll, llvm::getForgetSCEVInLoopUnroll(), llvm::getLicmMssaNoAccForPromotionCap(), llvm::getLicmMssaOptCap(), InlinerThreshold, LicmMssaNoAccForPromotionCap, LicmMssaOptCap, LoopFusion, LoopInterchange, LoopInterleaving, LoopUnrolling, LoopVectorization, MergeFunctions, 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 83 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
| bool llvm::PipelineTuningOptions::DevirtualizeSpeculatively |
Definition at line 106 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
| bool llvm::PipelineTuningOptions::EagerlyInvalidateAnalyses |
Definition at line 102 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 71 of file PassBuilder.h.
Referenced by PipelineTuningOptions().
| int llvm::PipelineTuningOptions::InlinerThreshold |
Tuning option to override the default inliner threshold.
Definition at line 93 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 79 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 75 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 67 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 64 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 49 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 60 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 53 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 90 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 57 of file PassBuilder.h.
Referenced by optimizeModule(), PipelineTuningOptions(), and setupOptionsForPipelineAlias().
| bool llvm::PipelineTuningOptions::UnifiedLTO |
Definition at line 86 of file PassBuilder.h.
Referenced by PipelineTuningOptions().