[all-commits] [llvm/llvm-project] a53e0b: AMDGPU: Respect target assembler directives over c...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Jul 7 01:16:06 PDT 2026


  Branch: refs/heads/users/arsenm/amdgpu/repect-not-validate-amdgcn-targetid-directive
  Home:   https://github.com/llvm/llvm-project
  Commit: a53e0b7105b6d867344d80f705c973977d6d5f92
      https://github.com/llvm/llvm-project/commit/a53e0b7105b6d867344d80f705c973977d6d5f92
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCSubtargetInfo.h
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/MC/AMDGPU/amdgcn-target-directive-conflict.s
    M llvm/test/MC/AMDGPU/amdgcn-target-directive-triple-env.s
    M llvm/test/MC/AMDGPU/hsa-diag-v4.s
    M llvm/test/MC/AMDGPU/hsa-exp.s
    M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx13-v4.s
    M llvm/test/MC/AMDGPU/hsa-tg-split.s
    M llvm/test/MC/AMDGPU/hsa-v4.s
    M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
    M llvm/test/MC/AMDGPU/isa-version-hsa.s
    M llvm/test/MC/AMDGPU/isa-version-pal.s
    M llvm/test/MC/AMDGPU/isa-version-unk.s

  Log Message:
  -----------
  AMDGPU: Respect target assembler directives over command line

Mutate the global subtarget, using essentially the same code that ARM uses.
The main difference is we need to mutate the actual CPU name in addition
to just flipping the feature bits, so this needs a new setter in
MCSubtargetInfo. Liberalize the triple check so that after #206480,
old assembly files to not break on new assembler invocations.

For some reason we have 2 different assembler directives that indicate the
target, .amdgcn_target for amdhsa and .amd_amdgpu_isa for amdpal. Previously,
we would take the target from the command line and then error if the directive
did not exactly match. In order to move away from depending on the xnack and
sramecc subtarget features, start treating the directives as a change of target,
similar to ARM's .cpu and .arch directives.

Both .amdgcn_target and .amd_amdgpu_isa encode full triples, but unlike
.amdgcn_target, the PAL directive does not include xnack or sramecc. Ideally
we would introduce new independent directives for these.

Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: 5eb401e9ff2361273b45ebe9b7bccaf2c83d5c7d
      https://github.com/llvm/llvm-project/commit/5eb401e9ff2361273b45ebe9b7bccaf2c83d5c7d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/test/MC/AMDGPU/amdgcn-target-directive-triple-env.s
    M llvm/test/MC/AMDGPU/hsa-diag-v4.s
    M llvm/test/MC/AMDGPU/isa-version-hsa.s
    M llvm/test/MC/AMDGPU/isa-version-pal.s
    M llvm/test/MC/AMDGPU/isa-version-unk.s

  Log Message:
  -----------
  Clarify .amdgcn_target processor mismatch diagnostic


  Commit: e0bfa19bbaf7116c6939539c94b44298dc715f8c
      https://github.com/llvm/llvm-project/commit/e0bfa19bbaf7116c6939539c94b44298dc715f8c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCSubtargetInfo.h

  Log Message:
  -----------
  Drop setCPU change


Compare: https://github.com/llvm/llvm-project/compare/0c216ac343fc...e0bfa19bbaf7

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