[flang-commits] [flang] [llvm] [mlir] [flang][mlir][OpenMP] Report Fortran names for privatized target maps (PR #228195)
Abid Qadeer via flang-commits
flang-commits at lists.llvm.org
Fri Oct 2 03:02:36 PDT 2026
================
@@ -30,15 +30,18 @@ llvm::Constant *mlir::LLVM::createSourceLocStrFromLocation(
return builder.getOrCreateSrcLocStr(locStr, strLen);
}
-llvm::Constant *
-mlir::LLVM::createMappingInformation(Location loc,
- llvm::OpenMPIRBuilder &builder) {
+llvm::Constant *mlir::LLVM::createMappingInformation(
+ Location loc, llvm::OpenMPIRBuilder &builder, StringRef mapName) {
uint32_t strLen;
+ Location childLoc = loc;
+ StringRef name = mapName;
if (auto nameLoc = dyn_cast<NameLoc>(loc)) {
- StringRef name = nameLoc.getName();
- return createSourceLocStrFromLocation(nameLoc.getChildLoc(), builder, name,
- strLen, /*forOffloadMap=*/true);
+ childLoc = nameLoc.getChildLoc();
+ if (name.empty())
+ name = nameLoc.getName();
}
- return createSourceLocStrFromLocation(loc, builder, "unknown", strLen,
+ if (name.empty())
+ name = "unknown";
+ return createSourceLocStrFromLocation(childLoc, builder, name, strLen,
----------------
abidh wrote:
The mlir changes require an mlir level test. Something like
```
// CHECK: c";x;test.f90;3;5;;\00"
llvm.func @map_name_attr(%a : !llvm.ptr) {
%m = omp.map.info var_ptr(%a : !llvm.ptr, i32) map_clauses(tofrom) capture(ByRef) name("x") -> !llvm.ptr loc("test.f90":3:5)
omp.target_data map_entries(%m : !llvm.ptr) { omp.terminator }
llvm.return
}
```
https://github.com/llvm/llvm-project/pull/228195
More information about the flang-commits
mailing list