diff options
author | David Green <david.green@arm.com> | 2024-04-08 08:44:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-08 08:44:13 +0100 |
commit | ac321cbb0350996ceef4e6d9e8a1035880609288 (patch) | |
tree | c149af9ab20749b9ba69df92d705ab33b3745df1 /llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp | |
parent | 2084a07087a55b55bb3c2a8aafbe1c4464fdf796 (diff) | |
download | llvm-ac321cbb0350996ceef4e6d9e8a1035880609288.zip llvm-ac321cbb0350996ceef4e6d9e8a1035880609288.tar.gz llvm-ac321cbb0350996ceef4e6d9e8a1035880609288.tar.bz2 |
[AArch64][GlobalISel] Legalize Insert vector element (#81453)
This attempts to standardize and extend some of the insert vector
element lowering. Most notably:
- More types are handled by splitting illegal vectors.
- The index type for G_INSERT_VECTOR_ELT is canonicalized to
TLI.getVectorIdxTy(), similar to extact_vector_element.
- Some of the existing patterns now have the index type specified to
make sure they can apply to GISel too.
- The C++ selection code has been removed, relying on tablegen patterns.
- G_INSERT_VECTOR_ELT with small GPR input elements are pre-selected to
use a i32 type, allowing the existing patterns to apply.
- Variable index inserts are lowered in post-legalizer lowering,
expanding into a stack store and reload.
Diffstat (limited to 'llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions