struct LoopVectorizePass
Declaration
struct LoopVectorizePass : public PassInfoMixin { /* full declaration omitted */ };
Description
The LoopVectorize Pass.
Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:120
Inherits from: PassInfoMixin
Member Variables
- public bool InterleaveOnlyWhenForced
- If false, consider all loops for interleaving. If true, only loops that explicitly request interleaving are considered.
- public bool VectorizeOnlyWhenForced
- If false, consider all loops for vectorization. If true, only loops that explicitly request vectorization are considered.
- public llvm::ScalarEvolution* SE
- public llvm::LoopInfo* LI
- public llvm::TargetTransformInfo* TTI
- public llvm::DominatorTree* DT
- public llvm::BlockFrequencyInfo* BFI
- public llvm::TargetLibraryInfo* TLI
- public llvm::DemandedBits* DB
- public llvm::AliasAnalysis* AA
- public llvm::AssumptionCache* AC
- public std::function<const LoopAccessInfo&(Loop&)>* GetLAA
- public llvm::OptimizationRemarkEmitter* ORE
- public llvm::ProfileSummaryInfo* PSI
Method Overview
- public LoopVectorizePass(llvm::LoopVectorizeOptions Opts = {})
- public bool processLoop(llvm::Loop * L)
- public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager & AM)
- public bool runImpl(llvm::Function & F, llvm::ScalarEvolution & SE_, llvm::LoopInfo & LI_, llvm::TargetTransformInfo & TTI_, llvm::DominatorTree & DT_, llvm::BlockFrequencyInfo & BFI_, llvm::TargetLibraryInfo * TLI_, llvm::DemandedBits & DB_, llvm::AliasAnalysis & AA_, llvm::AssumptionCache & AC_, std::function<const LoopAccessInfo &(Loop &)> & GetLAA_, llvm::OptimizationRemarkEmitter & ORE_, llvm::ProfileSummaryInfo * PSI_)
Methods
¶LoopVectorizePass(
llvm::LoopVectorizeOptions Opts = {})
LoopVectorizePass(
llvm::LoopVectorizeOptions Opts = {})
Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:129
Parameters
- llvm::LoopVectorizeOptions Opts = {}
¶bool processLoop(llvm::Loop* L)
bool processLoop(llvm::Loop* L)
Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:156
Parameters
- llvm::Loop* L
¶llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& AM)
llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& AM)
Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:146
Parameters
¶bool runImpl(
llvm::Function& F,
llvm::ScalarEvolution& SE_,
llvm::LoopInfo& LI_,
llvm::TargetTransformInfo& TTI_,
llvm::DominatorTree& DT_,
llvm::BlockFrequencyInfo& BFI_,
llvm::TargetLibraryInfo* TLI_,
llvm::DemandedBits& DB_,
llvm::AliasAnalysis& AA_,
llvm::AssumptionCache& AC_,
std::function<const LoopAccessInfo&(Loop&)>&
GetLAA_,
llvm::OptimizationRemarkEmitter& ORE_,
llvm::ProfileSummaryInfo* PSI_)
bool runImpl(
llvm::Function& F,
llvm::ScalarEvolution& SE_,
llvm::LoopInfo& LI_,
llvm::TargetTransformInfo& TTI_,
llvm::DominatorTree& DT_,
llvm::BlockFrequencyInfo& BFI_,
llvm::TargetLibraryInfo* TLI_,
llvm::DemandedBits& DB_,
llvm::AliasAnalysis& AA_,
llvm::AssumptionCache& AC_,
std::function<const LoopAccessInfo&(Loop&)>&
GetLAA_,
llvm::OptimizationRemarkEmitter& ORE_,
llvm::ProfileSummaryInfo* PSI_)
Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:149
Parameters
- llvm::Function& F
- llvm::ScalarEvolution& SE_
- llvm::LoopInfo& LI_
- llvm::TargetTransformInfo& TTI_
- llvm::DominatorTree& DT_
- llvm::BlockFrequencyInfo& BFI_
- llvm::TargetLibraryInfo* TLI_
- llvm::DemandedBits& DB_
- llvm::AliasAnalysis& AA_
- llvm::AssumptionCache& AC_
- std::function<const LoopAccessInfo&(Loop&)>& GetLAA_
- llvm::OptimizationRemarkEmitter& ORE_
- llvm::ProfileSummaryInfo* PSI_