HomePhabricator

[FastISel][AArch64] Add support for more addressing modes.

Description

[FastISel][AArch64] Add support for more addressing modes.

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, #3     --> ldr x0, [x0, x1, lsl #3]
ldr x0, [x0, x1]

sxtw x1, w1
lsl x1, x1, #3     --> ldr x0, [x0, x1, sxtw #3]
ldr x0, [x0, x1]

Details

Committed
ributzkaAug 13 2014, 3:53 PM
Parents
rL215596: <rdar://problem/18001677>
Branches
Unknown
Tags
Unknown

Event Timeline