[all-commits] [llvm/llvm-project] f4a38c: AMDGPU/GlobalISel: Look through casts when legaliz...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Sun Feb 9 15:38:13 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f4a38c114e124c21549d06281554658687012179
      https://github.com/llvm/llvm-project/commit/f4a38c114e124c21549d06281554658687012179
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-02-09 (Sun, 09 Feb 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Look through casts when legalizing vector indexing

We were failing to find constants that were casted. I feel like the
artifact combiner should have folded the constant in the trunc before
the custom lowering, but that doesn't happen.


  Commit: 2126c70e3a628cb772d7b9f63cb897857214245a
      https://github.com/llvm/llvm-project/commit/2126c70e3a628cb772d7b9f63cb897857214245a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-02-09 (Sun, 09 Feb 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert-vector-elt.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Don't mis-select vector index on a constant

Vector indexing with a constant index should be folded out in the
legalizer, but this was accidentally falling through. This would
produce the indexing operation with $noreg. Handle this case as a
dynamic index just in case a bug like this happens again in the
future.


  Commit: 6135f5eda48eb12a98f835d976e4916cfd44764c
      https://github.com/llvm/llvm-project/commit/6135f5eda48eb12a98f835d976e4916cfd44764c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-02-09 (Sun, 09 Feb 2020)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/ctlz.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/cttz.mir
    M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp

  Log Message:
  -----------
  GlobalISel: Fix narrowing of G_CTLZ/G_CTTZ

The result type is separate from the source type.


Compare: https://github.com/llvm/llvm-project/compare/00115d767f34...6135f5eda48e


More information about the All-commits mailing list