[PATCH] D107937: [AArch64][GlobalISel] Simplify/nuke the merge/unmerge legalizer rules.

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 11 16:31:04 PDT 2021


aemerson created this revision.
aemerson added a reviewer: paquette.
aemerson added a project: CodeChecker into llvm/clang.
Herald added subscribers: hiraditya, kristof.beyls, rovka.
aemerson requested review of this revision.
Herald added a project: LLVM.

These rules were originally written when the new predicate based legalizer was introduced in an attempt to preserve existing behaviour. It wasn't properly kept up to date as things like vector support was split out into G_CONCAT_VECTORS, and frankly, even if it was, it was too complex.

It's much easier to start from scratch with what we can actually support, which is just a few type combinations. Anything illegal we should either legalize, or should be eliminated as a side effect of artifact combination.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D107937

Files:
  llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
  llvm/test/CodeGen/AArch64/GlobalISel/legalize-merge-values.mir
  llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107937.365875.patch
Type: text/x-patch
Size: 9059 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210811/ffc5c270/attachment.bin>


More information about the llvm-commits mailing list