[all-commits] [llvm/llvm-project] 73056f: [AArch64][GlobalISel] Simplify/nuke the merge/unme...

Amara Emerson via All-commits all-commits at lists.llvm.org
Wed Aug 11 16:45:38 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 73056f239ef950f3a3e37769c99166306246e9cc
      https://github.com/llvm/llvm-project/commit/73056f239ef950f3a3e37769c99166306246e9cc
  Author: Amara Emerson <amara at apple.com>
  Date:   2021-08-11 (Wed, 11 Aug 2021)

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Simplify/nuke the merge/unmerge legalizer rules.

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.

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




More information about the All-commits mailing list