Skip to content

Commit 138250f

Browse files
committed
Minor cleanup.
1 parent 74b5144 commit 138250f

File tree

2 files changed

+20
-16
lines changed

2 files changed

+20
-16
lines changed

flang/lib/Lower/OpenMP/ClauseProcessor.cpp

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1167,19 +1167,26 @@ void ClauseProcessor::processMapObjects(
11671167

11681168
auto getDefaultMapperID = [&](const omp::Object &object,
11691169
std::string &mapperIdName) {
1170-
const semantics::DerivedTypeSpec *typeSpec = nullptr;
1171-
1172-
if (object.sym()->GetType() && object.sym()->GetType()->category() ==
1173-
semantics::DeclTypeSpec::TypeDerived)
1174-
typeSpec = &object.sym()->GetType()->derivedTypeSpec();
1175-
else if (object.sym()->owner().IsDerivedType())
1176-
typeSpec = object.sym()->owner().derivedTypeSpec();
1177-
1178-
if (typeSpec) {
1179-
mapperIdName =
1180-
typeSpec->name().ToString() + llvm::omp::OmpDefaultMapperName;
1181-
if (auto *sym = converter.getCurrentScope().FindSymbol(mapperIdName))
1182-
mapperIdName = converter.mangleName(mapperIdName, sym->owner());
1170+
if (!mlir::isa<mlir::omp::DeclareMapperOp>(
1171+
firOpBuilder.getRegion().getParentOp())) {
1172+
const semantics::DerivedTypeSpec *typeSpec = nullptr;
1173+
1174+
if (object.sym()->owner().IsDerivedType())
1175+
typeSpec = object.sym()->owner().derivedTypeSpec();
1176+
else if (object.sym()->GetType() &&
1177+
object.sym()->GetType()->category() ==
1178+
semantics::DeclTypeSpec::TypeDerived)
1179+
typeSpec = &object.sym()->GetType()->derivedTypeSpec();
1180+
1181+
if (typeSpec) {
1182+
mapperIdName =
1183+
typeSpec->name().ToString() + llvm::omp::OmpDefaultMapperName;
1184+
if (auto *sym = converter.getCurrentScope().FindSymbol(mapperIdName))
1185+
mapperIdName = converter.mangleName(mapperIdName, sym->owner());
1186+
else
1187+
mapperIdName =
1188+
converter.mangleName(mapperIdName, *typeSpec->GetScope());
1189+
}
11831190
}
11841191

11851192
// Make sure we don't return a mapper to self

flang/lib/Lower/OpenMP/OpenMP.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2396,7 +2396,6 @@ genImplicitDefaultDeclareMapper(lower::AbstractConverter &converter,
23962396
mlir::Location loc, fir::RecordType recordType,
23972397
llvm::StringRef mapperNameStr) {
23982398
fir::FirOpBuilder &firOpBuilder = converter.getFirOpBuilder();
2399-
lower::StatementContext stmtCtx;
24002399

24012400
// Save current insertion point before moving to the module scope to create
24022401
// the DeclareMapperOp
@@ -2504,7 +2503,6 @@ genImplicitDefaultDeclareMapper(lower::AbstractConverter &converter,
25042503
clauseOps.mapVars.emplace_back(mapOp);
25052504

25062505
firOpBuilder.create<mlir::omp::DeclareMapperInfoOp>(loc, clauseOps.mapVars);
2507-
// declMapperOp->dumpPretty();
25082506
return mlir::FlatSymbolRefAttr::get(&converter.getMLIRContext(),
25092507
mapperNameStr);
25102508
}
@@ -3571,7 +3569,6 @@ genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
35713569
ClauseProcessor cp(converter, semaCtx, clauses);
35723570
cp.processMap(loc, stmtCtx, clauseOps);
35733571
firOpBuilder.create<mlir::omp::DeclareMapperInfoOp>(loc, clauseOps.mapVars);
3574-
// declMapperOp->dumpPretty();
35753572
}
35763573

35773574
static void

0 commit comments

Comments
 (0)