summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/WinException.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2015-06-09 20:59:41 +0000
committerChad Rosier <mcrosier@codeaurora.org>2015-06-09 20:59:41 +0000
commitcf90acc1041fea47db7d862a21b24534b5df21b0 (patch)
treed451df3b64c0c63a853612fa919c5dfca2821a1d /llvm/lib/CodeGen/AsmPrinter/WinException.cpp
parent8ae395de66bec80bfdfb72da8e1217abeec9b913 (diff)
downloadbcm5719-llvm-cf90acc1041fea47db7d862a21b24534b5df21b0.tar.gz
bcm5719-llvm-cf90acc1041fea47db7d862a21b24534b5df21b0.zip
[AArch64] Remove an overly conservative check when generating store pairs.
Store instructions do not modify register values and therefore it's safe to form a store pair even if the source register has been read in between the two store instructions. Previously, the read of w1 (see below) prevented the formation of a stp. str w0, [x2] ldr w8, [x2, #8] add w0, w8, w1 str w1, [x2, #4] ret We now generate the following code. stp w0, w1, [x2] ldr w8, [x2, #8] add w0, w8, w1 ret All correctness tests with -Ofast on A57 with Spec200x and EEMBC pass. Performance results for SPEC2K were within noise. llvm-svn: 239432
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/WinException.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud