|
LLVM 24.0.0git
|
Tunable parameters for passes in the default pipelines. More...
#include "llvm/Passes/PassBuilder.h"
Public Member Functions | |
| LLVM_ABI PipelineTuningOptions | resolve (const cl::LibraryOptionsContext &LibraryOptions) const |
Return a copy whose unset members are set from LibraryOptions. | |
Public Attributes | |
| bool | LoopInterleaving = true |
| Tuning option to set loop interleaving on/off, set based on opt level. | |
| bool | LoopVectorization = true |
| Tuning option to enable/disable loop vectorization, set based on opt level. | |
| bool | SLPVectorization = false |
| Tuning option to enable/disable slp loop vectorization, set based on opt level. | |
| bool | LoopUnrolling = true |
| Tuning option to enable/disable loop unrolling. | |
| std::optional< bool > | LoopInterchange |
| Tuning option to enable/disable loop interchange. | |
| bool | LoopFusion = false |
| Tuning option to enable/disable loop fusion. | |
| std::optional< bool > | ForgetAllSCEVInLoopUnroll |
| Tuning option to forget all SCEV loops in LoopUnroll. | |
| std::optional< unsigned > | LicmMssaOptCap |
| Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM. | |
| std::optional< unsigned > | LicmMssaNoAccForPromotionCap |
| Tuning option to disable promotion to scalars in LICM with MemorySSA, if the number of access is too large. | |
| bool | CallGraphProfile = true |
| Tuning option to enable/disable call graph profile. | |
| bool | UnifiedLTO = false |
| std::optional< bool > | MergeFunctions |
| Tuning option to enable/disable function merging. | |
| int | InlinerThreshold = -1 |
| Tuning option to override the default inliner threshold. | |
| std::optional< unsigned > | MaxDevirtIterations |
| Tuning option to cap how many times the inliner pipeline reruns on an SCC after devirtualizing a call. | |
| std::optional< bool > | EagerlyInvalidateAnalyses |
| std::optional< bool > | DevirtualizeSpeculatively |
Tunable parameters for passes in the default pipelines.
An unset optional member takes the value of its library option in the PassBuilder's LLVMContext.
Definition at line 48 of file PassBuilder.h.
|
nodiscard |
Return a copy whose unset members are set from LibraryOptions.
Definition at line 173 of file PassBuilderPipelines.cpp.
References DevirtualizeSpeculatively, EagerlyInvalidateAnalyses, ForgetAllSCEVInLoopUnroll, llvm::cl::LibraryOptionsContext::get(), llvm::getForgetSCEVInLoopUnroll(), llvm::getLicmMssaNoAccForPromotionCap(), llvm::getLicmMssaOptCap(), llvm::getMaxDevirtIterations(), LicmMssaNoAccForPromotionCap, LicmMssaOptCap, LoopInterchange, MaxDevirtIterations, and MergeFunctions.
| bool llvm::PipelineTuningOptions::CallGraphProfile = true |
Tuning option to enable/disable call graph profile.
Definition at line 86 of file PassBuilder.h.
| std::optional<bool> llvm::PipelineTuningOptions::DevirtualizeSpeculatively |
Definition at line 111 of file PassBuilder.h.
Referenced by resolve().
| std::optional<bool> llvm::PipelineTuningOptions::EagerlyInvalidateAnalyses |
Definition at line 108 of file PassBuilder.h.
Referenced by resolve().
| std::optional<bool> llvm::PipelineTuningOptions::ForgetAllSCEVInLoopUnroll |
Tuning option to forget all SCEV loops in LoopUnroll.
Definition at line 75 of file PassBuilder.h.
Referenced by resolve().
| int llvm::PipelineTuningOptions::InlinerThreshold = -1 |
Tuning option to override the default inliner threshold.
Definition at line 95 of file PassBuilder.h.
| std::optional<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 83 of file PassBuilder.h.
Referenced by resolve().
| std::optional<unsigned> llvm::PipelineTuningOptions::LicmMssaOptCap |
Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM.
Definition at line 79 of file PassBuilder.h.
Referenced by resolve().
| bool llvm::PipelineTuningOptions::LoopFusion = false |
Tuning option to enable/disable loop fusion.
Definition at line 72 of file PassBuilder.h.
| std::optional<bool> llvm::PipelineTuningOptions::LoopInterchange |
Tuning option to enable/disable loop interchange.
Definition at line 69 of file PassBuilder.h.
Referenced by resolve().
| bool llvm::PipelineTuningOptions::LoopInterleaving = true |
Tuning option to set loop interleaving on/off, set based on opt level.
Definition at line 55 of file PassBuilder.h.
| bool llvm::PipelineTuningOptions::LoopUnrolling = true |
Tuning option to enable/disable loop unrolling.
Definition at line 66 of file PassBuilder.h.
| bool llvm::PipelineTuningOptions::LoopVectorization = true |
Tuning option to enable/disable loop vectorization, set based on opt level.
Definition at line 59 of file PassBuilder.h.
Referenced by optimizeModule(), and setupOptionsForPipelineAlias().
| std::optional<unsigned> llvm::PipelineTuningOptions::MaxDevirtIterations |
Tuning option to cap how many times the inliner pipeline reruns on an SCC after devirtualizing a call.
Definition at line 99 of file PassBuilder.h.
Referenced by resolve().
| std::optional<bool> llvm::PipelineTuningOptions::MergeFunctions |
Tuning option to enable/disable function merging.
Definition at line 92 of file PassBuilder.h.
Referenced by resolve().
| bool llvm::PipelineTuningOptions::SLPVectorization = false |
Tuning option to enable/disable slp loop vectorization, set based on opt level.
Definition at line 63 of file PassBuilder.h.
Referenced by optimizeModule(), and setupOptionsForPipelineAlias().
| bool llvm::PipelineTuningOptions::UnifiedLTO = false |
Definition at line 89 of file PassBuilder.h.