[all-commits] [llvm/llvm-project] 860123: [AMDGPU][SDAG] Handle ISD::PTRADD in VOP3 patterns

Fabian Ritter via All-commits all-commits at lists.llvm.org
Fri Jun 13 05:12:32 PDT 2025


  Branch: refs/heads/users/ritter-x2a/06-12-_amdgpu_sdag_handle_isd_ptradd_in_vop3_patterns
  Home:   https://github.com/llvm/llvm-project
  Commit: 860123fb50e6b9d4a772c350873507e7faaa1f71
      https://github.com/llvm/llvm-project/commit/860123fb50e6b9d4a772c350873507e7faaa1f71
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-06-13 (Fri, 13 Jun 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
    M llvm/test/CodeGen/AMDGPU/ptradd-sdag.ll

  Log Message:
  -----------
  [AMDGPU][SDAG] Handle ISD::PTRADD in VOP3 patterns

This patch mirrors similar patterns for ISD::ADD. The main difference is
that ISD::ADD is commutative, so that a pattern definition for, e.g.,
(add (mul x, y), z), automatically also handles (add z, (mul x, y)).
ISD::PTRADD is not commutative, so we would need to handle these cases
explicitly. This patch only implements (ptradd z, (op x, y)) patterns,
where the nested operation (shift or multiply) is the offset of the
ptradd (i.e., the right operand), since base pointers that are the
result of a shift or multiply seem less likely.

For SWDEV-516125.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list