llvm::PipelineTuningOptions

Tunable parameters for passes in the default pipelines.

Synopsis

Declared in <llvm/Passes/PassBuilder.h>

class PipelineTuningOptions;

Member Functions

NameDescription
PipelineTuningOptions [constructor]Constructor sets pipeline tuning defaults based on cl::opts. Each option can be set in the PassBuilder when using a LLVM as a library.

Data Members

NameDescription
CallGraphProfile Tuning option to enable/disable call graph profile. Its default value is that of the flag: -enable-npm-call-graph-profile.
DevirtualizeSpeculatively
EagerlyInvalidateAnalyses
ForgetAllSCEVInLoopUnroll Tuning option to forget all SCEV loops in LoopUnroll. Its default value is that of the flag: -forget-scev-loop-unroll.
InlinerThreshold Tuning option to override the default inliner threshold.
LicmMssaNoAccForPromotionCap Tuning option to disable promotion to scalars in LICM with MemorySSA, if the number of access is too large.
LicmMssaOptCap Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM.
LoopFusion Tuning option to enable/disable loop fusion. Its default value is false.
LoopInterchange Tuning option to enable/disable loop interchange. Its default value is false.
LoopInterleaving Tuning option to set loop interleaving on/off, set based on opt level.
LoopUnrolling Tuning option to enable/disable loop unrolling. Its default value is true.
LoopVectorization Tuning option to enable/disable loop vectorization, set based on opt level.
MergeFunctions Tuning option to enable/disable function merging. Its default value is false.
SLPVectorization Tuning option to enable/disable slp loop vectorization, set based on opt level.
UnifiedLTO