Author: Balaji V. Iyer.
Date: 2026-11-02T12:54:54-06:00
New Revision: 03104d0d3abf8f464012e5842f78255686d6eb45

URL: 
https://github.com/llvm/llvm-project/commit/03104d0d3abf8f464012e5842f78255686d6eb45
DIFF: 
https://github.com/llvm/llvm-project/commit/03104d0d3abf8f464012e5842f78255686d6eb45.diff

LOG: [CIR] Narrow GPURelocatableDeviceCode NYI check to CUDA/HIP 
externalization (#236592)

The NYI check for `GPURelocatableDeviceCode` previously had a blanket
`!isSYCL() ` exclusion. This patch narrows it down to match the
condition the classic codegen uses for externalizing HIP/CUDA
device-side static file-scope variables, gated on CUDA.

Added: 
    

Modified: 
    clang/lib/CIR/CodeGen/CIRGenModule.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/CIR/CodeGen/CIRGenModule.cpp 
b/clang/lib/CIR/CodeGen/CIRGenModule.cpp
index 4e11a6555b62df..11904c58f82350 100644
--- a/clang/lib/CIR/CodeGen/CIRGenModule.cpp
+++ b/clang/lib/CIR/CodeGen/CIRGenModule.cpp
@@ -2870,13 +2870,12 @@ static std::string getMangledNameImpl(CIRGenModule 
&cgm, GlobalDecl gd,
                    "getMangledName: multi-version functions");
     }
   }
-  // SYCL does not externalize file-scope statics, so RDC does not change the
-  // mangled name.
-  if (cgm.getLangOpts().GPURelocatableDeviceCode &&
-      !cgm.getLangOpts().isSYCL()) {
-    cgm.errorNYI(nd->getSourceRange(),
-                 "getMangledName: GPU relocatable device code");
-  }
+  // Make unique name for device side static file-scope variable for HIP.
+  if (cgm.getASTContext().shouldExternalize(nd) &&
+      cgm.getLangOpts().GPURelocatableDeviceCode)
+    if (cgm.getLangOpts().CUDA)
+      cgm.errorNYI(nd->getSourceRange(),
+                   "getMangledName: GPU relocatable device code");
 
   return std::string(out.str());
 }


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

Reply via email to