[all-commits] [llvm/llvm-project] 844403: [AMDGPU] Use GlobalISel MatchTable Combiner Backend

Pierre van Houtryve via All-commits all-commits at lists.llvm.org
Tue Jul 11 02:27:30 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8444038d160d491e8e38ff4971bbc91379e2e3cf
      https://github.com/llvm/llvm-project/commit/8444038d160d491e8e38ff4971bbc91379e2e3cf
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2023-07-11 (Tue, 11 Jul 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp

  Log Message:
  -----------
  [AMDGPU] Use GlobalISel MatchTable Combiner Backend

Use the new matchtable-based combiner backend for all AMDGPU combiners.
This drop-in from the user's perspective; there are no test changes, the new combiner behaves exactly like the old one.

Depends on D153757

NOTE: This would land iff D153757 (RFC) lands too.

Reviewed By: arsenm

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


  Commit: 655714a300ff303a1f283718c34d9e27e096b319
      https://github.com/llvm/llvm-project/commit/655714a300ff303a1f283718c34d9e27e096b319
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2023-07-11 (Tue, 11 Jul 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-and-or-disjoint-mask.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-to-lhs-known-bits.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-mulo-with-2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/lower-neon-vector-fcmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-overlapping-and-postlegalize.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-overlapping-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combine-ptr-add-chain.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-anyext-to-zext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-rotate.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-addo-zero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-and-mask.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern-align.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-mulo-zero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-br.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-copy-prop-disabled.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-invert-cmp.mir

  Log Message:
  -----------
  [AArch64] Use GlobalISel MatchTable Combiner Backend

Only a few minor test changes needed because I removed the "helper" suffix from the combiner name, as it's not really a helper anymore but more like the implementation itself.

Depends on D153757

NOTE: This would land iff D153757 (RFC) lands too.

Reviewed By: aemerson

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


  Commit: 2f608131b44c03ef1b358b314e7df169c1e22f53
      https://github.com/llvm/llvm-project/commit/2f608131b44c03ef1b358b314e7df169c1e22f53
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2023-07-11 (Tue, 11 Jul 2023)

  Changed paths:
    M llvm/lib/Target/Mips/CMakeLists.txt
    M llvm/lib/Target/Mips/MipsCombine.td
    M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp

  Log Message:
  -----------
  [MIPS] Use GlobalISel MatchTable Combiner Backend

Depends on D153757

NOTE: This would land iff D153757 (RFC) lands too.

Reviewed By: arsenm

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


Compare: https://github.com/llvm/llvm-project/compare/133b2fc9cc27...2f608131b44c


More information about the All-commits mailing list