diff options
author | Geoff Berry <gberry@codeaurora.org> | 2016-11-14 19:39:04 +0000 |
---|---|---|
committer | Geoff Berry <gberry@codeaurora.org> | 2016-11-14 19:39:04 +0000 |
commit | 526c50588d9b6ffe7cdefdc36d917e0416e14315 (patch) | |
tree | e15411ef3ac095b48f5fb05a2e2a76bc5cab17cb /llvm/lib/Object/SymbolicFile.cpp | |
parent | def4bfa9d9f744656183720fa1092b88897ed496 (diff) | |
download | llvm-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