diff options
author | Jessica Paquette <jpaquette@apple.com> | 2019-08-23 20:31:34 +0000 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2019-08-23 20:31:34 +0000 |
commit | 83fe56b3b95672be8f64f32f4f472bedca402369 (patch) | |
tree | c64bac01d8eb0e11351d4eb9ac4fad3d01a58d80 /lldb/packages/Python/lldbsuite/test/source-manager/TestSourceManager.py | |
parent | 277631e3b8dda9afaa5ddc16e69116455e68ae87 (diff) | |
download | bcm5719-llvm-83fe56b3b95672be8f64f32f4f472bedca402369.tar.gz bcm5719-llvm-83fe56b3b95672be8f64f32f4f472bedca402369.zip |
[AArch64][GlobalISel] Import XRO load/store patterns instead of custom selection
Instead of using custom C++ in `earlySelect` for loads and stores, just import
the patterns.
Remove `earlySelectLoad`, since we can just import the work it's doing.
Some minor changes to how `ComplexRendererFns` are returned for the XRO
addressing modes. If you add immediates in two steps, sometimes they are not
imported properly and you only end up with one immediate. I'm not sure if this
is intentional.
- Update load-addressing-modes.mir to include the instructions we can now
import.
- Add a similar test, store-addressing-modes.mir to show which store opcodes we
currently import, and show that we can pull in shifts etc.
- Update arm64-fastisel-gep-promote-before-add.ll to use FastISel instead of
GISel. This test failed with GISel because GISel folds the gep into the load.
The test checks that FastISel doesn't fold non-pointer-width adds into loads.
GISel on the other hand, produces a G_CONSTANT of -128 for the add, and then
a G_GEP, which must be pointer-width.
Note that we don't get STRBRoX right now. It seems like the importer can't
handle `FPR8Op:{ *:[Untyped] }:$Rt` source operands. So, those are not currently
supported.
Differential Revision: https://reviews.llvm.org/D66679
llvm-svn: 369806
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/source-manager/TestSourceManager.py')
0 files changed, 0 insertions, 0 deletions