[all-commits] [llvm/llvm-project] c9cdaf: [AMDGPU] Fix operand definitions for atomic scalar...

Ivan Kosarev via All-commits all-commits at lists.llvm.org
Fri Nov 10 06:01:01 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c9cdaffe49902af71c3610806b1d688385fa2257
      https://github.com/llvm/llvm-project/commit/c9cdaffe49902af71c3610806b1d688385fa2257
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2023-11-10 (Fri, 10 Nov 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SMInstructions.td

  Log Message:
  -----------
  [AMDGPU] Fix operand definitions for atomic scalar memory instructions. (#71799)

CPol and CPol_GLC1 operand classes have identical predicates, which
means AsmParser cannot differentiate between the RTN and non-RTN
variants of the instructions. When it currently selects the wrong
instruction, a hack in cvtSMEMAtomic() corrects the op-code. Using the
new predicated-value operands makes this hack and the whole conversion
function not needed.

Other uses of CPol_GLC1 operands are to be addressed separately.

Resolves about half of the remaining ~1000 pairs of ambiguous
instructions.

Part of <https://github.com/llvm/llvm-project/issues/69256>.




More information about the All-commits mailing list