diff options
author | Martin Elshuber <martin.elshuber@theobroma-systems.com> | 2018-11-19 14:26:10 +0000 |
---|---|---|
committer | Martin Elshuber <martin.elshuber@theobroma-systems.com> | 2018-11-19 14:26:10 +0000 |
commit | fef3036d3721a9a6a234c54786e3b8bf3d2d0f93 (patch) | |
tree | b05659f26b00414aa162895dc078bfe6b58bba24 /llvm/lib/CodeGen/CodeGen.cpp | |
parent | 0c7460ad057391cae264d405068a70212d770965 (diff) | |
download | bcm5719-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.cpp | 1 |
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); |