[flang-commits] [flang] 7b10e97 - [flang][cuda] Do not fail if global is not found (#163445)

via flang-commits flang-commits at lists.llvm.org
Tue Oct 14 13:51:46 PDT 2025


Author: Valentin Clement (バレンタイン クレメン)
Date: 2025-10-14T20:51:42Z
New Revision: 7b10e977f869488d2965b834f278ee0be45267e2

URL: https://github.com/llvm/llvm-project/commit/7b10e977f869488d2965b834f278ee0be45267e2
DIFF: https://github.com/llvm/llvm-project/commit/7b10e977f869488d2965b834f278ee0be45267e2.diff

LOG: [flang][cuda] Do not fail if global is not found (#163445)

Added: 
    

Modified: 
    flang/lib/Optimizer/CodeGen/CodeGen.cpp

Removed: 
    


################################################################################
diff  --git a/flang/lib/Optimizer/CodeGen/CodeGen.cpp b/flang/lib/Optimizer/CodeGen/CodeGen.cpp
index 3c3804f35bf30..70bb43a2510ba 100644
--- a/flang/lib/Optimizer/CodeGen/CodeGen.cpp
+++ b/flang/lib/Optimizer/CodeGen/CodeGen.cpp
@@ -179,11 +179,13 @@ struct AddrOfOpConversion : public fir::FIROpConversion<fir::AddrOfOp> {
 
     if (auto gpuMod = addr->getParentOfType<mlir::gpu::GPUModuleOp>()) {
       auto global = gpuMod.lookupSymbol<mlir::LLVM::GlobalOp>(addr.getSymbol());
-      assert(global && "Expect global in gpu module");
-      replaceWithAddrOfOrASCast(rewriter, addr->getLoc(), global.getAddrSpace(),
-                                getProgramAddressSpace(rewriter),
-                                global.getSymName(),
-                                convertType(addr.getType()), addr);
+      replaceWithAddrOfOrASCast(
+          rewriter, addr->getLoc(),
+          global ? global.getAddrSpace() : getGlobalAddressSpace(rewriter),
+          getProgramAddressSpace(rewriter),
+          global ? global.getSymName()
+                 : addr.getSymbol().getRootReference().getValue(),
+          convertType(addr.getType()), addr);
       return mlir::success();
     }
 


        


More information about the flang-commits mailing list