summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/CodeGen.cpp
diff options
context:
space:
mode:
authorMartin Elshuber <martin.elshuber@theobroma-systems.com>2018-11-19 14:26:10 +0000
committerMartin Elshuber <martin.elshuber@theobroma-systems.com>2018-11-19 14:26:10 +0000
commitfef3036d3721a9a6a234c54786e3b8bf3d2d0f93 (patch)
treeb05659f26b00414aa162895dc078bfe6b58bba24 /llvm/lib/CodeGen/CodeGen.cpp
parent0c7460ad057391cae264d405068a70212d770965 (diff)
downloadbcm5719-llvm-fef3036d3721a9a6a234c54786e3b8bf3d2d0f93.tar.gz
bcm5719-llvm-fef3036d3721a9a6a234c54786e3b8bf3d2d0f93.zip
Subject: [PATCH] [CodeGen] Add pass to combine interleaved loads.
This patch defines an interleaved-load-combine pass. The pass searches for ShuffleVector instructions that represent interleaved loads. Matches are converted such that they will be captured by the InterleavedAccessPass. The pass extends LLVMs capabilities to use target specific instruction selection of interleaved load patterns (e.g.: ld4 on Aarch64 architectures). Differential Revision: https://reviews.llvm.org/D52653 llvm-svn: 347208
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
-rw-r--r--llvm/lib/CodeGen/CodeGen.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/CodeGen.cpp b/llvm/lib/CodeGen/CodeGen.cpp
index 2f845354c57..66166482c78 100644
--- a/llvm/lib/CodeGen/CodeGen.cpp
+++ b/llvm/lib/CodeGen/CodeGen.cpp
@@ -42,6 +42,7 @@ void llvm::initializeCodeGen(PassRegistry &Registry) {
initializeIfConverterPass(Registry);
initializeImplicitNullChecksPass(Registry);
initializeIndirectBrExpandPassPass(Registry);
+ initializeInterleavedLoadCombinePass(Registry);
initializeInterleavedAccessPass(Registry);
initializeLiveDebugValuesPass(Registry);
initializeLiveDebugVariablesPass(Registry);
OpenPOWER on IntegriCloud