https://github.com/arsenm updated 
https://github.com/llvm/llvm-project/pull/199642

>From 047afab69f72c1a5535988b776744725b68e4c62 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <[email protected]>
Date: Tue, 26 May 2026 10:46:25 +0100
Subject: [PATCH] clang/AMDGPU: Report all runtimeless sanitizers as available

---
 clang/lib/Driver/ToolChains/AMDGPU.cpp        |  2 +-
 clang/test/Driver/amdgpu-validate-sanitize.cl | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp 
b/clang/lib/Driver/ToolChains/AMDGPU.cpp
index c58891b1add56..fd09dcd5da5f4 100644
--- a/clang/lib/Driver/ToolChains/AMDGPU.cpp
+++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp
@@ -1119,7 +1119,7 @@ static bool isXnackAvailable(const llvm::Triple &TT, 
llvm::StringRef TargetID) {
 SanitizerMask AMDGPUToolChain::getSupportedSanitizers(
     StringRef BoundArch, Action::OffloadKind DeviceOffloadKind) const {
   SanitizerMask SupportedMask =
-      SanitizerKind::Undefined | SanitizerKind::UndefinedGroup;
+      ToolChain::getSupportedSanitizers(BoundArch, DeviceOffloadKind);
 
   // Address sanitizer is potentially supported, but depends on the exact 
target
   // arch xnack support.
diff --git a/clang/test/Driver/amdgpu-validate-sanitize.cl 
b/clang/test/Driver/amdgpu-validate-sanitize.cl
index c7df26c95da87..907ad201b15b3 100644
--- a/clang/test/Driver/amdgpu-validate-sanitize.cl
+++ b/clang/test/Driver/amdgpu-validate-sanitize.cl
@@ -8,6 +8,20 @@
 // RUN:   -nogpuinc --rocm-path=%S/Inputs/rocm \
 // RUN:   %s 2>&1 | FileCheck %s
 
+// RUN: %clang -### --target=amdgcn-amd-amdhsa -mcpu=gfx900 \
+// RUN:   -fsanitize=undefined \
+// RUN:   -fsanitize=unsigned-integer-overflow     \
+// RUN:   -fsanitize=float-divide-by-zero     \
+// RUN:   -fsanitize=unsigned-integer-overflow \
+// RUN:   -fsanitize=unsigned-shift-base \
+// RUN:   -fsanitize=implicit-conversion \
+// RUN:   -fsanitize=nullability \
+// RUN:   -fsanitize=local-bounds \
+// RUN:   -fsanitize=alloc-token \
+// RUN:   -nogpuinc --rocm-path=%S/Inputs/rocm \
+// RUN:   %s 2>&1 | FileCheck -check-prefix=GENERIC %s
+
+
 // FIXME: This should error, but is silently ignored
 // RUN: %clang -### --target=amdgcn-amd-amdhsa -mcpu=gfx900:xnack- \
 // RUN:   -fsanitize=address \
@@ -18,6 +32,10 @@
 // CHECK-SAME: "-mlink-bitcode-file" "{{.*}}asanrtl.bc"
 // CHECK-SAME: "-fsanitize=address"
 
+
+// GENERIC: 
"-fsanitize=alignment,array-bounds,bool,builtin,enum,float-cast-overflow,float-divide-by-zero,function,integer-divide-by-zero,nonnull-attribute,null,nullability-arg,nullability-assign,nullability-return,pointer-overflow,return,returns-nonnull-attribute,shift-base,shift-exponent,signed-integer-overflow,unreachable,vla-bound,unsigned-integer-overflow,unsigned-shift-base,implicit-unsigned-integer-truncation,implicit-signed-integer-truncation,implicit-integer-sign-change,implicit-bitfield-conversion,local-bounds,alloc-token"
 
"-fsanitize-recover=alignment,array-bounds,bool,builtin,enum,float-cast-overflow,float-divide-by-zero,function,integer-divide-by-zero,nonnull-attribute,null,nullability-arg,nullability-assign,nullability-return,pointer-overflow,returns-nonnull-attribute,shift-base,shift-exponent,signed-integer-overflow,vla-bound,unsigned-integer-overflow,unsigned-shift-base,implicit-unsigned-integer-truncation,implicit-signed-integer-truncation,implicit-integer-sign-change,implicit-bitfield-conversion"
 "-fsanitize-trap=local-bounds" 
"-fsanitize-merge=alignment,array-bounds,bool,builtin,enum,float-cast-overflow,function,integer-divide-by-zero,nonnull-attribute,null,pointer-overflow,return,returns-nonnull-attribute,shift-base,shift-exponent,signed-integer-overflow,unreachable,vla-bound"
+
+
 // FIXME: Should not be forwarding argument
 // ERR-NOT: asanrtl.bc
 // ERR: "-fsanitize=address"

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to