class PipelineTuningOptions
Declaration
class PipelineTuningOptions { /* full declaration omitted */ };
Description
Tunable parameters for passes in the default pipelines.
Declared at: llvm/include/llvm/Passes/PassBuilder.h:38
Member Variables
- public bool LoopInterleaving
- Tuning option to set loop interleaving on/off, set based on opt level.
- public bool LoopVectorization
- Tuning option to enable/disable loop vectorization, set based on opt level.
- public bool SLPVectorization
- Tuning option to enable/disable slp loop vectorization, set based on opt level.
- public bool LoopUnrolling
- Tuning option to enable/disable loop unrolling. Its default value is true.
- public bool ForgetAllSCEVInLoopUnroll
- Tuning option to forget all SCEV loops in LoopUnroll. Its default value is that of the flag: `-forget-scev-loop-unroll`.
- public unsigned int LicmMssaOptCap
- Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM.
- public unsigned int LicmMssaNoAccForPromotionCap
- Tuning option to disable promotion to scalars in LICM with MemorySSA, if the number of access is too large.
- public bool CallGraphProfile
- Tuning option to enable/disable call graph profile. Its default value is that of the flag: `-enable-npm-call-graph-profile`.
- public bool MergeFunctions
- Tuning option to enable/disable function merging. Its default value is false.
- public bool EagerlyInvalidateAnalyses
Method Overview
- public PipelineTuningOptions()
Methods
ΒΆPipelineTuningOptions()
PipelineTuningOptions()
Description
Constructor sets pipeline tuning defaults based on cl::opts. Each option can be set in the PassBuilder when using a LLVM as a library.
Declared at: llvm/include/llvm/Passes/PassBuilder.h:42