aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/SymbolicFile.cpp
diff options
context:
space:
mode:
authorGeoff Berry <gberry@codeaurora.org>2016-11-14 19:39:04 +0000
committerGeoff Berry <gberry@codeaurora.org>2016-11-14 19:39:04 +0000
commit526c50588d9b6ffe7cdefdc36d917e0416e14315 (patch)
treee15411ef3ac095b48f5fb05a2e2a76bc5cab17cb /llvm/lib/Object/SymbolicFile.cpp
parentdef4bfa9d9f744656183720fa1092b88897ed496 (diff)
downloadllvm-526c50588d9b6ffe7cdefdc36d917e0416e14315.zip
llvm-526c50588d9b6ffe7cdefdc36d917e0416e14315.tar.gz
llvm-526c50588d9b6ffe7cdefdc36d917e0416e14315.tar.bz2
[AArch64] Split 0 vector stores into scalar store pairs.
Summary: Replace a splat of zeros to a vector store by scalar stores of WZR/XZR. The load store optimizer pass will merge them to store pair stores. This should be better than a movi to create the vector zero followed by a vector store if the zero constant is not re-used, since one instructions and one register live range will be removed. For example, the final generated code should be: stp xzr, xzr, [x0] instead of: movi v0.2d, #0 str q0, [x0] Reviewers: t.p.northover, mcrosier, MatzeB, jmolloy Subscribers: aemerson, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D26561 llvm-svn: 286875
Diffstat (limited to 'llvm/lib/Object/SymbolicFile.cpp')
0 files changed, 0 insertions, 0 deletions