@@ -1389,16 +1389,16 @@ mlir::Type getTypeFromBounds(llvm::SmallVector<mlir::Value> &bounds,
13891389}
13901390
13911391template <typename RecipeOp>
1392- static void
1393- genPrivatizations ( const Fortran::parser::AccObjectList &objectList,
1394- Fortran::lower::AbstractConverter &converter,
1395- Fortran::semantics::SemanticsContext &semanticsContext,
1396- Fortran::lower::StatementContext &stmtCtx,
1397- llvm::SmallVectorImpl<mlir::Value> &dataOperands,
1398- llvm::SmallVector<mlir::Attribute> &privatizations ,
1399- llvm::ArrayRef<mlir::Value> async,
1400- llvm::ArrayRef<mlir::Attribute> asyncDeviceTypes,
1401- llvm::ArrayRef<mlir::Attribute> asyncOnlyDeviceTypes) {
1392+ static void genPrivatizationRecipes (
1393+ const Fortran::parser::AccObjectList &objectList,
1394+ Fortran::lower::AbstractConverter &converter,
1395+ Fortran::semantics::SemanticsContext &semanticsContext,
1396+ Fortran::lower::StatementContext &stmtCtx,
1397+ llvm::SmallVectorImpl<mlir::Value> &dataOperands,
1398+ llvm::SmallVector<mlir::Attribute> &privatizationRecipes ,
1399+ llvm::ArrayRef<mlir::Value> async,
1400+ llvm::ArrayRef<mlir::Attribute> asyncDeviceTypes,
1401+ llvm::ArrayRef<mlir::Attribute> asyncOnlyDeviceTypes) {
14021402 fir::FirOpBuilder &builder = converter.getFirOpBuilder ();
14031403 Fortran::evaluate::ExpressionAnalyzer ea{semanticsContext};
14041404 for (const auto &accObject : objectList.v ) {
@@ -1445,7 +1445,7 @@ genPrivatizations(const Fortran::parser::AccObjectList &objectList,
14451445 /* unwrapBoxAddr=*/ true );
14461446 dataOperands.push_back (op.getAccVar ());
14471447 }
1448- privatizations .push_back (mlir::SymbolRefAttr::get (
1448+ privatizationRecipes .push_back (mlir::SymbolRefAttr::get (
14491449 builder.getContext (), recipe.getSymName ().str ()));
14501450 }
14511451}
@@ -2083,15 +2083,15 @@ mlir::Type getTypeFromIvTypeSize(fir::FirOpBuilder &builder,
20832083 return builder.getIntegerType (ivTypeSize * 8 );
20842084}
20852085
2086- static void privatizeIv (Fortran::lower::AbstractConverter &converter,
2087- const Fortran::semantics::Symbol &sym ,
2088- mlir::Location loc,
2089- llvm::SmallVector<mlir::Type> &ivTypes,
2090- llvm::SmallVector<mlir::Location> &ivLocs,
2091- llvm::SmallVector<mlir::Value> &privateOperands,
2092- llvm::SmallVector<mlir::Value> &ivPrivate,
2093- llvm::SmallVector<mlir::Attribute> &privatizations ,
2094- bool isDoConcurrent = false ) {
2086+ static void
2087+ privatizeIv ( Fortran::lower::AbstractConverter &converter ,
2088+ const Fortran::semantics::Symbol &sym, mlir::Location loc,
2089+ llvm::SmallVector<mlir::Type> &ivTypes,
2090+ llvm::SmallVector<mlir::Location> &ivLocs,
2091+ llvm::SmallVector<mlir::Value> &privateOperands,
2092+ llvm::SmallVector<mlir::Value> &ivPrivate,
2093+ llvm::SmallVector<mlir::Attribute> &privatizationRecipes ,
2094+ bool isDoConcurrent = false ) {
20952095 fir::FirOpBuilder &builder = converter.getFirOpBuilder ();
20962096
20972097 mlir::Type ivTy = getTypeFromIvTypeSize (builder, sym);
@@ -2131,7 +2131,7 @@ static void privatizeIv(Fortran::lower::AbstractConverter &converter,
21312131 privateOp = op.getOperation ();
21322132
21332133 privateOperands.push_back (op.getAccVar ());
2134- privatizations .push_back (mlir::SymbolRefAttr::get (
2134+ privatizationRecipes .push_back (mlir::SymbolRefAttr::get (
21352135 builder.getContext (), recipe.getSymName ().str ()));
21362136 }
21372137
@@ -2161,7 +2161,7 @@ static mlir::acc::LoopOp createLoopOp(
21612161 llvm::SmallVector<mlir::Value> tileOperands, privateOperands, ivPrivate,
21622162 reductionOperands, cacheOperands, vectorOperands, workerNumOperands,
21632163 gangOperands, lowerbounds, upperbounds, steps;
2164- llvm::SmallVector<mlir::Attribute> privatizations , reductionRecipes;
2164+ llvm::SmallVector<mlir::Attribute> privatizationRecipes , reductionRecipes;
21652165 llvm::SmallVector<int32_t > tileOperandsSegments, gangOperandsSegments;
21662166 llvm::SmallVector<int64_t > collapseValues;
21672167
@@ -2282,9 +2282,9 @@ static mlir::acc::LoopOp createLoopOp(
22822282 } else if (const auto *privateClause =
22832283 std::get_if<Fortran::parser::AccClause::Private>(
22842284 &clause.u )) {
2285- genPrivatizations <mlir::acc::PrivateRecipeOp>(
2285+ genPrivatizationRecipes <mlir::acc::PrivateRecipeOp>(
22862286 privateClause->v , converter, semanticsContext, stmtCtx,
2287- privateOperands, privatizations , /* async=*/ {},
2287+ privateOperands, privatizationRecipes , /* async=*/ {},
22882288 /* asyncDeviceTypes=*/ {}, /* asyncOnlyDeviceTypes=*/ {});
22892289 } else if (const auto *reductionClause =
22902290 std::get_if<Fortran::parser::AccClause::Reduction>(
@@ -2368,7 +2368,8 @@ static mlir::acc::LoopOp createLoopOp(
23682368
23692369 const auto &name = std::get<Fortran::parser::Name>(control.t );
23702370 privatizeIv (converter, *name.symbol , currentLocation, ivTypes, ivLocs,
2371- privateOperands, ivPrivate, privatizations, isDoConcurrent);
2371+ privateOperands, ivPrivate, privatizationRecipes,
2372+ isDoConcurrent);
23722373
23732374 inclusiveBounds.push_back (true );
23742375 }
@@ -2405,7 +2406,7 @@ static mlir::acc::LoopOp createLoopOp(
24052406 Fortran::semantics::Symbol &ivSym =
24062407 bounds->name .thing .symbol ->GetUltimate ();
24072408 privatizeIv (converter, ivSym, currentLocation, ivTypes, ivLocs,
2408- privateOperands, ivPrivate, privatizations );
2409+ privateOperands, ivPrivate, privatizationRecipes );
24092410
24102411 inclusiveBounds.push_back (true );
24112412
@@ -2484,9 +2485,9 @@ static mlir::acc::LoopOp createLoopOp(
24842485 if (!autoDeviceTypes.empty ())
24852486 loopOp.setAuto_Attr (builder.getArrayAttr (autoDeviceTypes));
24862487
2487- if (!privatizations .empty ())
2488- loopOp.setPrivatizationsAttr (
2489- mlir::ArrayAttr::get (builder.getContext (), privatizations ));
2488+ if (!privatizationRecipes .empty ())
2489+ loopOp.setPrivatizationRecipesAttr (
2490+ mlir::ArrayAttr::get (builder.getContext (), privatizationRecipes ));
24902491
24912492 if (!reductionRecipes.empty ())
24922493 loopOp.setReductionRecipesAttr (
@@ -2613,8 +2614,8 @@ static Op createComputeOp(
26132614
26142615 llvm::SmallVector<mlir::Value> reductionOperands, privateOperands,
26152616 firstprivateOperands;
2616- llvm::SmallVector<mlir::Attribute> privatizations, firstPrivatizations ,
2617- reductionRecipes;
2617+ llvm::SmallVector<mlir::Attribute> privatizationRecipes ,
2618+ firstPrivatizationRecipes, reductionRecipes;
26182619
26192620 // Self clause has optional values but can be present with
26202621 // no value as well. When there is no value, the op has an attribute to
@@ -2820,17 +2821,17 @@ static Op createComputeOp(
28202821 std::get_if<Fortran::parser::AccClause::Private>(
28212822 &clause.u )) {
28222823 if (!combinedConstructs)
2823- genPrivatizations <mlir::acc::PrivateRecipeOp>(
2824+ genPrivatizationRecipes <mlir::acc::PrivateRecipeOp>(
28242825 privateClause->v , converter, semanticsContext, stmtCtx,
2825- privateOperands, privatizations , async, asyncDeviceTypes,
2826+ privateOperands, privatizationRecipes , async, asyncDeviceTypes,
28262827 asyncOnlyDeviceTypes);
28272828 } else if (const auto *firstprivateClause =
28282829 std::get_if<Fortran::parser::AccClause::Firstprivate>(
28292830 &clause.u )) {
2830- genPrivatizations <mlir::acc::FirstprivateRecipeOp>(
2831+ genPrivatizationRecipes <mlir::acc::FirstprivateRecipeOp>(
28312832 firstprivateClause->v , converter, semanticsContext, stmtCtx,
2832- firstprivateOperands, firstPrivatizations , async, asyncDeviceTypes ,
2833- asyncOnlyDeviceTypes);
2833+ firstprivateOperands, firstPrivatizationRecipes , async,
2834+ asyncDeviceTypes, asyncOnlyDeviceTypes);
28342835 } else if (const auto *reductionClause =
28352836 std::get_if<Fortran::parser::AccClause::Reduction>(
28362837 &clause.u )) {
@@ -2934,15 +2935,15 @@ static Op createComputeOp(
29342935 computeOp.setWaitOnlyAttr (builder.getArrayAttr (waitOnlyDeviceTypes));
29352936
29362937 if constexpr (!std::is_same_v<Op, mlir::acc::KernelsOp>) {
2937- if (!privatizations .empty ())
2938- computeOp.setPrivatizationsAttr (
2939- mlir::ArrayAttr::get (builder.getContext (), privatizations ));
2938+ if (!privatizationRecipes .empty ())
2939+ computeOp.setPrivatizationRecipesAttr (
2940+ mlir::ArrayAttr::get (builder.getContext (), privatizationRecipes ));
29402941 if (!reductionRecipes.empty ())
29412942 computeOp.setReductionRecipesAttr (
29422943 mlir::ArrayAttr::get (builder.getContext (), reductionRecipes));
2943- if (!firstPrivatizations .empty ())
2944- computeOp.setFirstprivatizationsAttr (
2945- mlir::ArrayAttr::get ( builder.getContext (), firstPrivatizations ));
2944+ if (!firstPrivatizationRecipes .empty ())
2945+ computeOp.setFirstprivatizationRecipesAttr ( mlir::ArrayAttr::get (
2946+ builder.getContext (), firstPrivatizationRecipes ));
29462947 }
29472948
29482949 if (combinedConstructs)
0 commit comments