Skip to content

Commit

Permalink
Add LoadStoreVectorizer pass
Browse files Browse the repository at this point in the history
This was contributed by Apple, and I've been working on
minimal cleanups and generalizing it.

llvm-svn: 274293
  • Loading branch information
arsenm committed Jun 30, 2016
1 parent a62287b commit 08debb0
Showing 13 changed files with 1,825 additions and 1 deletion.
1 change: 1 addition & 0 deletions llvm/include/llvm/InitializePasses.h
Original file line number Diff line number Diff line change
@@ -169,6 +169,7 @@ void initializeLiveStacksPass(PassRegistry&);
void initializeLiveVariablesPass(PassRegistry&);
void initializeLoadCombinePass(PassRegistry&);
void initializeLoaderPassPass(PassRegistry&);
void initializeLoadStoreVectorizerPass(PassRegistry&);
void initializeLocalStackSlotPassPass(PassRegistry&);
void initializeLoopAccessAnalysisPass(PassRegistry&);
void initializeLoopDataPrefetchPass(PassRegistry&);
1 change: 1 addition & 0 deletions llvm/include/llvm/LinkAllPasses.h
Original file line number Diff line number Diff line change
@@ -183,6 +183,7 @@ namespace {
(void) llvm::createInstructionSimplifierPass();
(void) llvm::createLoopVectorizePass();
(void) llvm::createSLPVectorizerPass();
(void) llvm::createLoadStoreVectorizerPass(128);
(void) llvm::createBBVectorizePass();
(void) llvm::createPartiallyInlineLibCallsPass();
(void) llvm::createScalarizerPass();
7 changes: 7 additions & 0 deletions llvm/include/llvm/Transforms/Vectorize.h
Original file line number Diff line number Diff line change
@@ -139,6 +139,13 @@ Pass *createSLPVectorizerPass();
bool vectorizeBasicBlock(Pass *P, BasicBlock &BB,
const VectorizeConfig &C = VectorizeConfig());

//===----------------------------------------------------------------------===//
//
// LoadStoreVectorizer - Create vector loads and stores, but leave scalar
// operations.
//
Pass *createLoadStoreVectorizerPass(unsigned VecRegSize = 128);

} // End llvm namespace

#endif
3 changes: 2 additions & 1 deletion llvm/lib/Transforms/Vectorize/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
add_llvm_library(LLVMVectorize
BBVectorize.cpp
Vectorize.cpp
LoadStoreVectorizer.cpp
LoopVectorize.cpp
SLPVectorizer.cpp
Vectorize.cpp

ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/Transforms
Loading

0 comments on commit 08debb0

Please sign in to comment.