LLVM 20.0.0git
|
#include "llvm/Transforms/Vectorize/SLPVectorizer.h"
Public Types | |
using | StoreList = SmallVector< StoreInst *, 8 > |
using | StoreListMap = MapVector< Value *, StoreList > |
using | GEPList = SmallVector< GetElementPtrInst *, 8 > |
using | GEPListMap = MapVector< Value *, GEPList > |
using | InstSetVector = SmallSetVector< Instruction *, 8 > |
Public Member Functions | |
PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
bool | runImpl (Function &F, ScalarEvolution *SE_, TargetTransformInfo *TTI_, TargetLibraryInfo *TLI_, AAResults *AA_, LoopInfo *LI_, DominatorTree *DT_, AssumptionCache *AC_, DemandedBits *DB_, OptimizationRemarkEmitter *ORE_) |
Public Member Functions inherited from llvm::PassInfoMixin< SLPVectorizerPass > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Public Attributes | |
ScalarEvolution * | SE = nullptr |
TargetTransformInfo * | TTI = nullptr |
TargetLibraryInfo * | TLI = nullptr |
AAResults * | AA = nullptr |
LoopInfo * | LI = nullptr |
DominatorTree * | DT = nullptr |
AssumptionCache * | AC = nullptr |
DemandedBits * | DB = nullptr |
const DataLayout * | DL = nullptr |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< SLPVectorizerPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
Definition at line 58 of file SLPVectorizer.h.
using llvm::SLPVectorizerPass::GEPList = SmallVector<GetElementPtrInst *, 8> |
Definition at line 61 of file SLPVectorizer.h.
using llvm::SLPVectorizerPass::GEPListMap = MapVector<Value *, GEPList> |
Definition at line 62 of file SLPVectorizer.h.
using llvm::SLPVectorizerPass::InstSetVector = SmallSetVector<Instruction *, 8> |
Definition at line 63 of file SLPVectorizer.h.
using llvm::SLPVectorizerPass::StoreList = SmallVector<StoreInst *, 8> |
Definition at line 59 of file SLPVectorizer.h.
using llvm::SLPVectorizerPass::StoreListMap = MapVector<Value *, StoreList> |
Definition at line 60 of file SLPVectorizer.h.
PreservedAnalyses SLPVectorizerPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Definition at line 18243 of file SLPVectorizer.cpp.
References llvm::PreservedAnalyses::all(), F, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PreservedAnalyses::preserveSet(), and runImpl().
bool SLPVectorizerPass::runImpl | ( | Function & | F, |
ScalarEvolution * | SE_, | ||
TargetTransformInfo * | TTI_, | ||
TargetLibraryInfo * | TLI_, | ||
AAResults * | AA_, | ||
LoopInfo * | LI_, | ||
DominatorTree * | DT_, | ||
AssumptionCache * | AC_, | ||
DemandedBits * | DB_, | ||
OptimizationRemarkEmitter * | ORE_ | ||
) |
Definition at line 18263 of file SLPVectorizer.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::dbgs(), DL, llvm::ArrayRef< T >::empty(), llvm::SmallVectorBase< Size_T >::empty(), F, llvm::TargetTransformInfo::getNumberOfRegisters(), llvm::TargetTransformInfo::getRegisterClassForType(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::isEHPad(), LLVM_DEBUG, llvm::post_order(), RunSLPVectorization, llvm::ArrayRef< T >::size(), llvm::SmallVectorBase< Size_T >::size(), and llvm::DominatorTreeBase< NodeT, IsPostDom >::updateDFSNumbers().
AAResults* llvm::SLPVectorizerPass::AA = nullptr |
Definition at line 68 of file SLPVectorizer.h.
AssumptionCache* llvm::SLPVectorizerPass::AC = nullptr |
Definition at line 71 of file SLPVectorizer.h.
DemandedBits* llvm::SLPVectorizerPass::DB = nullptr |
Definition at line 72 of file SLPVectorizer.h.
const DataLayout* llvm::SLPVectorizerPass::DL = nullptr |
Definition at line 73 of file SLPVectorizer.h.
DominatorTree* llvm::SLPVectorizerPass::DT = nullptr |
Definition at line 70 of file SLPVectorizer.h.
LoopInfo* llvm::SLPVectorizerPass::LI = nullptr |
Definition at line 69 of file SLPVectorizer.h.
ScalarEvolution* llvm::SLPVectorizerPass::SE = nullptr |
Definition at line 65 of file SLPVectorizer.h.
TargetLibraryInfo* llvm::SLPVectorizerPass::TLI = nullptr |
Definition at line 67 of file SLPVectorizer.h.
TargetTransformInfo* llvm::SLPVectorizerPass::TTI = nullptr |
Definition at line 66 of file SLPVectorizer.h.