Skip to content

Commit 7b10e97

Browse files
authored
[flang][cuda] Do not fail if global is not found (#163445)
1 parent 5ef56f1 commit 7b10e97

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

flang/lib/Optimizer/CodeGen/CodeGen.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -179,11 +179,13 @@ struct AddrOfOpConversion : public fir::FIROpConversion<fir::AddrOfOp> {
179179

180180
if (auto gpuMod = addr->getParentOfType<mlir::gpu::GPUModuleOp>()) {
181181
auto global = gpuMod.lookupSymbol<mlir::LLVM::GlobalOp>(addr.getSymbol());
182-
assert(global && "Expect global in gpu module");
183-
replaceWithAddrOfOrASCast(rewriter, addr->getLoc(), global.getAddrSpace(),
184-
getProgramAddressSpace(rewriter),
185-
global.getSymName(),
186-
convertType(addr.getType()), addr);
182+
replaceWithAddrOfOrASCast(
183+
rewriter, addr->getLoc(),
184+
global ? global.getAddrSpace() : getGlobalAddressSpace(rewriter),
185+
getProgramAddressSpace(rewriter),
186+
global ? global.getSymName()
187+
: addr.getSymbol().getRootReference().getValue(),
188+
convertType(addr.getType()), addr);
187189
return mlir::success();
188190
}
189191

0 commit comments

Comments
 (0)