[all-commits] [llvm/llvm-project] 51bd4e: [AArch64][GlobalISel] Overhaul G_EXTRACT legalization

Jessica Paquette via All-commits all-commits at lists.llvm.org
Thu Aug 5 13:58:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 51bd4e874fa51412e7399fe7f863169b4f4829bc
      https://github.com/llvm/llvm-project/commit/51bd4e874fa51412e7399fe7f863169b4f4829bc
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2021-08-05 (Thu, 05 Aug 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Overhaul G_EXTRACT legalization

This simplifies our existing G_EXTRACT rules and adds some test coverage. Mostly
changing this because it should make it easier to improve legalization for
instructions which use G_EXTRACT as part of the legalization process.

This also adds support for legalizing some weird types. Similar to other recent
legalizer changes, this changes the order of widening/clamping.

There was some dead code in our existing rules (e.g. the p0 case would never get
hit), so this knocks those out and makes the types we want to handle explicit.

This also removes some checks which, nowadays, are handled by the
MachineVerifier.

Differential Revision: https://reviews.llvm.org/D107505




More information about the All-commits mailing list