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

This commit is contained in:
Valentin Clement (バレンタイン クレメン)
2025-10-14 10:51:42 -10:00
committed by GitHub
parent 5ef56f1d15
commit 7b10e977f8

View File

@@ -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();
}