LLVM 22.0.0git
llvm::PipelineTuningOptions Class Reference

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

Detailed Description

Tunable parameters for passes in the default pipelines.

Definition at line 44 of file PassBuilder.h.

Constructor & Destructor Documentation

◆ PipelineTuningOptions()

Member Data Documentation

◆ 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 85 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ EagerlyInvalidateAnalyses

bool llvm::PipelineTuningOptions::EagerlyInvalidateAnalyses

Definition at line 104 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ ForgetAllSCEVInLoopUnroll

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 73 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ InlinerThreshold

int llvm::PipelineTuningOptions::InlinerThreshold

Tuning option to override the default inliner threshold.

Definition at line 95 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ LicmMssaNoAccForPromotionCap

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 81 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ LicmMssaOptCap

unsigned llvm::PipelineTuningOptions::LicmMssaOptCap

Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM.

Definition at line 77 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ LoopFusion

bool llvm::PipelineTuningOptions::LoopFusion

Tuning option to enable/disable loop fusion. Its default value is false.

Definition at line 69 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ LoopInterchange

bool llvm::PipelineTuningOptions::LoopInterchange

Tuning option to enable/disable loop interchange.

Its default value is false.

Definition at line 66 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ LoopInterleaving

bool llvm::PipelineTuningOptions::LoopInterleaving

Tuning option to set loop interleaving on/off, set based on opt level.

Definition at line 51 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ LoopUnrolling

bool llvm::PipelineTuningOptions::LoopUnrolling

Tuning option to enable/disable loop unrolling. Its default value is true.

Definition at line 62 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ LoopVectorization

bool llvm::PipelineTuningOptions::LoopVectorization

Tuning option to enable/disable loop vectorization, set based on opt level.

Definition at line 55 of file PassBuilder.h.

Referenced by optimizeModule(), PipelineTuningOptions(), and setupOptionsForPipelineAlias().

◆ MergeFunctions

bool llvm::PipelineTuningOptions::MergeFunctions

Tuning option to enable/disable function merging.

Its default value is false.

Definition at line 92 of file PassBuilder.h.

Referenced by PipelineTuningOptions().

◆ SLPVectorization

bool llvm::PipelineTuningOptions::SLPVectorization

Tuning option to enable/disable slp loop vectorization, set based on opt level.

Definition at line 59 of file PassBuilder.h.

Referenced by optimizeModule(), PipelineTuningOptions(), and setupOptionsForPipelineAlias().

◆ UnifiedLTO

bool llvm::PipelineTuningOptions::UnifiedLTO

Definition at line 88 of file PassBuilder.h.

Referenced by PipelineTuningOptions().


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