LLVM  14.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::PipelineTuningOptions Class Reference

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

#include "llvm/Passes/PassBuilder.h"

Collaboration diagram for llvm::PipelineTuningOptions:
Collaboration graph
[legend]

Public Member Functions

 PipelineTuningOptions ()
 Constructor sets pipeline tuning defaults based on cl::opts. More...
 

Public Attributes

bool LoopInterleaving
 Tuning option to set loop interleaving on/off, set based on opt level. More...
 
bool LoopVectorization
 Tuning option to enable/disable loop vectorization, set based on opt level. More...
 
bool SLPVectorization
 Tuning option to enable/disable slp loop vectorization, set based on opt level. More...
 
bool LoopUnrolling
 Tuning option to enable/disable loop unrolling. Its default value is true. More...
 
bool ForgetAllSCEVInLoopUnroll
 Tuning option to forget all SCEV loops in LoopUnroll. More...
 
unsigned LicmMssaOptCap
 Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM. More...
 
unsigned LicmMssaNoAccForPromotionCap
 Tuning option to disable promotion to scalars in LICM with MemorySSA, if the number of access is too large. More...
 
bool CallGraphProfile
 Tuning option to enable/disable call graph profile. More...
 
bool MergeFunctions
 Tuning option to enable/disable function merging. More...
 
bool EagerlyInvalidateAnalyses
 

Detailed Description

Tunable parameters for passes in the default pipelines.

Definition at line 38 of file PassBuilder.h.

Constructor & Destructor Documentation

◆ PipelineTuningOptions()

PipelineTuningOptions::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 72 of file PassBuilder.h.

Referenced by llvm::PassBuilder::buildModuleOptimizationPipeline(), and PipelineTuningOptions().

◆ EagerlyInvalidateAnalyses

bool llvm::PipelineTuningOptions::EagerlyInvalidateAnalyses

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

Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), and 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 68 of file PassBuilder.h.

Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), and 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 64 of file PassBuilder.h.

Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), and PipelineTuningOptions().

◆ LoopInterleaving

bool llvm::PipelineTuningOptions::LoopInterleaving

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

Definition at line 45 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 56 of file PassBuilder.h.

Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), and PipelineTuningOptions().

◆ LoopVectorization

bool llvm::PipelineTuningOptions::LoopVectorization

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

Definition at line 49 of file PassBuilder.h.

Referenced by PipelineTuningOptions(), and llvm::LTOCodeGenerator::setOptLevel().

◆ MergeFunctions

bool llvm::PipelineTuningOptions::MergeFunctions

Tuning option to enable/disable function merging.

Its default value is false.

Definition at line 76 of file PassBuilder.h.

Referenced by llvm::PassBuilder::buildLTODefaultPipeline(), llvm::PassBuilder::buildModuleOptimizationPipeline(), llvm::PassBuilder::buildO0DefaultPipeline(), and PipelineTuningOptions().

◆ SLPVectorization

bool llvm::PipelineTuningOptions::SLPVectorization

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

Definition at line 53 of file PassBuilder.h.

Referenced by PipelineTuningOptions(), and llvm::LTOCodeGenerator::setOptLevel().


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