[clang] clang/AMDGPU: Mark more capability target features read-only (PR #214954)

Matt Arsenault via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 8 04:13:07 PDT 2026


https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/214954

Really all amdgpu subtarget features should be read-only, except
for a handful of legitimately configurable modes which should be moved
out of subtarget features. Add a few special cases here which will help
unblock progressing towards using the new generated feature bitset.

>From 117faf086fd36fb6e6b780805682d12333cabac7 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Tue, 4 Aug 2026 08:40:36 +0200
Subject: [PATCH] clang/AMDGPU: Mark more capability target features read-only

Really all amdgpu subtarget features should be read-only, except
for a handful of legitimately configurable modes which should be moved
out of subtarget features. Add a few special cases here which will help
unblock progressing towards using the new generated feature bitset.
---
 clang/lib/Basic/Targets/AMDGPU.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Basic/Targets/AMDGPU.cpp b/clang/lib/Basic/Targets/AMDGPU.cpp
index 4109066ec910e..c15ac0462918d 100644
--- a/clang/lib/Basic/Targets/AMDGPU.cpp
+++ b/clang/lib/Basic/Targets/AMDGPU.cpp
@@ -229,7 +229,9 @@ AMDGPUTargetInfo::AMDGPUTargetInfo(const llvm::Triple &Triple,
   MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
   CUMode = !(GPUFeatures & llvm::AMDGPU::FEATURE_WGP);
 
-  for (auto F : {"image-insts", "gws", "vmem-to-lds-load-insts"}) {
+  for (auto F : {"image-insts", "gws", "vmem-to-lds-load-insts", "supports-wgp",
+                 "supports-wave32", "xnack-support", "sramecc-support",
+                 "xnack-on-off-modes"}) {
     if (GPUKind != llvm::AMDGPU::GK_NONE)
       ReadOnlyFeatures.insert(F);
   }



More information about the cfe-commits mailing list