diff options
author | Jessica Paquette <jpaquette@apple.com> | 2020-07-28 11:33:39 -0700 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2020-07-29 11:02:10 -0700 |
commit | 7ff9575594d001f0c514f35add36eaf7b6c5e12f (patch) | |
tree | 92e3ddff5cc558f2d04dfc630cd1b9fad2103a49 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | |
parent | 766cb615a3b96025192707f4670cdf171da84034 (diff) | |
download | llvm-7ff9575594d001f0c514f35add36eaf7b6c5e12f.zip llvm-7ff9575594d001f0c514f35add36eaf7b6c5e12f.tar.gz llvm-7ff9575594d001f0c514f35add36eaf7b6c5e12f.tar.bz2 |
[AArch64][GlobalISel] Select XRO addressing mode with wide immediates
Port the wide immediate case from AArch64DAGToDAGISel::SelectAddrModeXRO.
If we have a wide immediate which can't be represented in an add, we can end up
with code like this:
```
mov x0, imm
add x1, base, x0
ldr x2, [x1, 0]
```
If we use the [base, xN] addressing mode instead, we can produce this:
```
mov x0, imm
ldr x2, [base, x0]
```
This saves 0.4% code size on 7zip at -O3, and gives a geomean code size
improvement of 0.1% on CTMark.
Differential Revision: https://reviews.llvm.org/D84784
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions