LLVM  7.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
Collaboration diagram for llvm::LoopVectorizePass:
Collaboration graph

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...
std::function< const LoopAccessInfo &(Loop &)> * GetLAA

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().


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.


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.


TargetLibraryInfo* llvm::LoopVectorizePass::TLI

Definition at line 85 of file LoopVectorize.h.


TargetTransformInfo* llvm::LoopVectorizePass::TTI

Definition at line 82 of file LoopVectorize.h.

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