[flang-commits] [flang] [flang][cuda] Fix shared memory offset computation for nested cuf.shared_memory ops (PR #188659)
Zhen Wang via flang-commits
flang-commits at lists.llvm.org
Wed Mar 25 20:49:07 PDT 2026
================
@@ -142,20 +143,25 @@ struct CUFComputeSharedMemoryOffsetsAndSize
// Static shared memory.
auto [size, align] = fir::getTypeSizeAndAlignmentOrCrash(
loc, sharedOp.getInType(), *dl, kindMap);
- createSharedMemoryGlobal(
- builder, sharedOp.getLoc(), funcOp.getName(),
- *sharedOp.getBindcName(), gpuMod,
- fir::SequenceType::get(size, i8Ty), size,
- sharedOp.getAlignment() ? *sharedOp.getAlignment() : align,
- /*isDynamic=*/false);
+ std::string globalName = (funcOp.getName() + cudaSharedMemSuffix +
+ *sharedOp.getBindcName())
+ .str();
+ if (createdStaticGlobals.insert(globalName).second) {
----------------
wangzpgi wrote:
So a single shared memory allocation here is intended.
https://github.com/llvm/llvm-project/pull/188659
More information about the flang-commits
mailing list