Commit 06bb1ca
committed
Reapply [FastISel][AArch64] Add support for more addressing modes (r215597).
Note: This was originally reverted to track down a buildbot error. Reapply
without any modifications.
Original commit message:
FastISel didn't take much advantage of the different addressing modes available
to it on AArch64. This commit allows the ComputeAddress method to recognize more
addressing modes that allows shifts and sign-/zero-extensions to be folded into
the memory operation itself.
For Example:
lsl x1, x1, brson#3 --> ldr x0, [x0, x1, lsl brson#3]
ldr x0, [x0, x1]
sxtw x1, w1
lsl x1, x1, brson#3 --> ldr x0, [x0, x1, sxtw brson#3]
ldr x0, [x0, x1]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216013 91177308-0d34-0410-b5e6-96231b3b80d81 parent 96b1e70 commit 06bb1ca
File tree
2 files changed
+714
-168
lines changed- lib/Target/AArch64
- test/CodeGen/AArch64
2 files changed
+714
-168
lines changed
0 commit comments