LLVM  12.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...
 
bool Coroutines
 Tuning option to enable/disable coroutine intrinsic lowering. 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...
 

Detailed Description

Tunable parameters for passes in the default pipelines.

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

Referenced by PipelineTuningOptions().

◆ Coroutines

bool llvm::PipelineTuningOptions::Coroutines

Tuning option to enable/disable coroutine intrinsic lowering.

Its default value is false. Frontends such as Clang may enable this conditionally. For example, Clang enables this option if the flags -std=c++2a or above, or -fcoroutines-ts, have been specified.

Definition at line 99 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 93 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 107 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 103 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 78 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 89 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 82 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 86 of file PassBuilder.h.

Referenced by PipelineTuningOptions().


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