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

The LoopVectorize Pass. More...

#include <LoopVectorize.h>

Inheritance diagram for llvm::LoopVectorizePass:
[legend]
Collaboration diagram for llvm::LoopVectorizePass:
[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
 
BlockFrequency ColdEntryFreq
 

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 71 of file LoopVectorize.h.

Member Function Documentation

bool LoopVectorizePass::processLoop ( Loop L)
PreservedAnalyses LoopVectorizePass::run ( Function F,
FunctionAnalysisManager AM 
)
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

AliasAnalysis* llvm::LoopVectorizePass::AA

Definition at line 85 of file LoopVectorize.h.

AssumptionCache* llvm::LoopVectorizePass::AC

Definition at line 86 of file LoopVectorize.h.

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 76 of file LoopVectorize.h.

BlockFrequencyInfo* llvm::LoopVectorizePass::BFI

Definition at line 82 of file LoopVectorize.h.

BlockFrequency llvm::LoopVectorizePass::ColdEntryFreq

Definition at line 90 of file LoopVectorize.h.

DemandedBits* llvm::LoopVectorizePass::DB

Definition at line 84 of file LoopVectorize.h.

bool llvm::LoopVectorizePass::DisableUnrolling = false

Definition at line 72 of file LoopVectorize.h.

DominatorTree* llvm::LoopVectorizePass::DT

Definition at line 81 of file LoopVectorize.h.

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

Definition at line 87 of file LoopVectorize.h.

LoopInfo* llvm::LoopVectorizePass::LI

Definition at line 79 of file LoopVectorize.h.

OptimizationRemarkEmitter* llvm::LoopVectorizePass::ORE

Definition at line 88 of file LoopVectorize.h.

ScalarEvolution* llvm::LoopVectorizePass::SE

Definition at line 78 of file LoopVectorize.h.

TargetLibraryInfo* llvm::LoopVectorizePass::TLI

Definition at line 83 of file LoopVectorize.h.

TargetTransformInfo* llvm::LoopVectorizePass::TTI

Definition at line 80 of file LoopVectorize.h.


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