OSDN Git Service

[AArch64] Improve load/store optimizer to handle LDUR + LDR.
authorChad Rosier <mcrosier@codeaurora.org>
Thu, 11 Feb 2016 14:25:08 +0000 (14:25 +0000)
committerChad Rosier <mcrosier@codeaurora.org>
Thu, 11 Feb 2016 14:25:08 +0000 (14:25 +0000)
commitac5172baadc8f18b329150c870c13170c4cdb117
tree90fe1c70edc3da84159177da01efa0c4b27583fb
parenta63bae5730b1f7e495f446609b74337edbe8bec6
[AArch64] Improve load/store optimizer to handle LDUR + LDR.

This patch allows the mixing of scaled and unscaled load/stores to form
load/store pairs.

This is a reapplication of r259812, which had an incorrect assert.  The
test_stur_str_no_assert() test is a reduced version of the issue hit in
the AArch64 self-host.

PR24465

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260523 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
test/CodeGen/AArch64/ldp-stp-scaled-unscaled-pairs.ll [new file with mode: 0644]