LLVM  6.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::LoopVectorizePass Struct Reference

The LoopVectorize Pass. More...

#include "llvm/Transforms/Vectorize/LoopVectorize.h"

Inheritance diagram for llvm::LoopVectorizePass:
Inheritance graph
[legend]
Collaboration diagram for llvm::LoopVectorizePass:
Collaboration graph
[legend]

Public Member Functions

PreservedAnalyses run (Function &F, FunctionAnalysisManager &AM)
 
bool runImpl (Function &F, ScalarEvolution &SE_, LoopInfo &LI_, TargetTransformInfo &TTI_, DominatorTree &DT_, BlockFrequencyInfo &BFI_, TargetLibraryInfo *TLI_, DemandedBits &DB_, AliasAnalysis &AA_, AssumptionCache &AC_, std::function< const LoopAccessInfo &(Loop &)> &GetLAA_, OptimizationRemarkEmitter &ORE)
 
bool processLoop (Loop *L)
 

Public Attributes

bool DisableUnrolling = false
 
bool AlwaysVectorize = true
 If true, consider all loops for vectorization. More...
 
ScalarEvolutionSE
 
LoopInfoLI
 
TargetTransformInfoTTI
 
DominatorTreeDT
 
BlockFrequencyInfoBFI
 
TargetLibraryInfoTLI
 
DemandedBitsDB
 
AliasAnalysisAA
 
AssumptionCacheAC
 
std::function< const LoopAccessInfo &(Loop &)> * GetLAA
 
OptimizationRemarkEmitterORE
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::PassInfoMixin< LoopVectorizePass >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...
 

Detailed Description

The LoopVectorize Pass.

Definition at line 72 of file LoopVectorize.h.

Member Function Documentation

◆ processLoop()

bool LoopVectorizePass::processLoop ( Loop L)

◆ run()

PreservedAnalyses LoopVectorizePass::run ( Function F,
FunctionAnalysisManager AM 
)

◆ runImpl()

bool LoopVectorizePass::runImpl ( Function F,
ScalarEvolution SE_,
LoopInfo LI_,
TargetTransformInfo TTI_,
DominatorTree DT_,
BlockFrequencyInfo BFI_,
TargetLibraryInfo TLI_,
DemandedBits DB_,
AliasAnalysis AA_,
AssumptionCache AC_,
std::function< const LoopAccessInfo &(Loop &)> &  GetLAA_,
OptimizationRemarkEmitter ORE 
)

Member Data Documentation

◆ AA

AliasAnalysis* llvm::LoopVectorizePass::AA

Definition at line 87 of file LoopVectorize.h.

◆ AC

AssumptionCache* llvm::LoopVectorizePass::AC

Definition at line 88 of file LoopVectorize.h.

◆ AlwaysVectorize

bool llvm::LoopVectorizePass::AlwaysVectorize = true

If true, consider all loops for vectorization.

If false, only loops that explicitly request vectorization are considered.

Definition at line 78 of file LoopVectorize.h.

Referenced by addAcyclicInnerLoop().

◆ BFI

BlockFrequencyInfo* llvm::LoopVectorizePass::BFI

Definition at line 84 of file LoopVectorize.h.

◆ DB

DemandedBits* llvm::LoopVectorizePass::DB

Definition at line 86 of file LoopVectorize.h.

◆ DisableUnrolling

bool llvm::LoopVectorizePass::DisableUnrolling = false

Definition at line 73 of file LoopVectorize.h.

Referenced by addAcyclicInnerLoop().

◆ DT

DominatorTree* llvm::LoopVectorizePass::DT

Definition at line 83 of file LoopVectorize.h.

◆ GetLAA

std::function<const LoopAccessInfo &(Loop &)>* llvm::LoopVectorizePass::GetLAA

Definition at line 89 of file LoopVectorize.h.

◆ LI

LoopInfo* llvm::LoopVectorizePass::LI

Definition at line 81 of file LoopVectorize.h.

◆ ORE

OptimizationRemarkEmitter* llvm::LoopVectorizePass::ORE

Definition at line 90 of file LoopVectorize.h.

◆ SE

ScalarEvolution* llvm::LoopVectorizePass::SE

Definition at line 80 of file LoopVectorize.h.

◆ TLI

TargetLibraryInfo* llvm::LoopVectorizePass::TLI

Definition at line 85 of file LoopVectorize.h.

◆ TTI

TargetTransformInfo* llvm::LoopVectorizePass::TTI

Definition at line 82 of file LoopVectorize.h.


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