LLVM: llvm::PipelineTuningOptions Class Reference (original) (raw)

Tunable parameters for passes in the default pipelines. More...

#include "[llvm/Passes/PassBuilder.h](llvm%5F2Passes%5F2PassBuilder%5F8h%5Fsource.html)"

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 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 321 of file PassBuilderPipelines.cpp.

References CallGraphProfile, DevirtualizeSpeculatively, EagerlyInvalidateAnalyses, llvm::EnableDevirtualizeSpeculatively, 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.

CallGraphProfile

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().

DevirtualizeSpeculatively

bool llvm::PipelineTuningOptions::DevirtualizeSpeculatively

EagerlyInvalidateAnalyses

bool llvm::PipelineTuningOptions::EagerlyInvalidateAnalyses

ForgetAllSCEVInLoopUnroll

bool llvm::PipelineTuningOptions::ForgetAllSCEVInLoopUnroll

InlinerThreshold

int llvm::PipelineTuningOptions::InlinerThreshold

LicmMssaNoAccForPromotionCap

unsigned llvm::PipelineTuningOptions::LicmMssaNoAccForPromotionCap

LicmMssaOptCap

unsigned llvm::PipelineTuningOptions::LicmMssaOptCap

LoopFusion

bool llvm::PipelineTuningOptions::LoopFusion

LoopInterchange

bool llvm::PipelineTuningOptions::LoopInterchange

LoopInterleaving

bool llvm::PipelineTuningOptions::LoopInterleaving

LoopUnrolling

bool llvm::PipelineTuningOptions::LoopUnrolling

LoopVectorization

bool llvm::PipelineTuningOptions::LoopVectorization

MergeFunctions

bool llvm::PipelineTuningOptions::MergeFunctions

SLPVectorization

bool llvm::PipelineTuningOptions::SLPVectorization

UnifiedLTO

bool llvm::PipelineTuningOptions::UnifiedLTO


The documentation for this class was generated from the following files: