@@ -683,9 +683,7 @@ genTaskOp(Fortran::lower::AbstractConverter &converter,
683
683
cp.processMergeable (mergeableAttr);
684
684
cp.processPriority (stmtCtx, priorityClauseOperand);
685
685
cp.processDepend (dependTypeOperands, dependOperands);
686
- cp.processTODO <Fortran::parser::OmpClause::InReduction,
687
- Fortran::parser::OmpClause::Detach,
688
- Fortran::parser::OmpClause::Affinity>(
686
+ cp.processTODO <clause::InReduction, clause::Detach, clause::Affinity>(
689
687
currentLocation, llvm::omp::Directive::OMPD_task);
690
688
691
689
return genOpWithBody<mlir::omp::TaskOp>(
@@ -711,8 +709,8 @@ genTaskGroupOp(Fortran::lower::AbstractConverter &converter,
711
709
llvm::SmallVector<mlir::Value> allocateOperands, allocatorOperands;
712
710
ClauseProcessor cp (converter, semaCtx, clauseList);
713
711
cp.processAllocate (allocatorOperands, allocateOperands);
714
- cp.processTODO <Fortran::parser::OmpClause:: TaskReduction>(
715
- currentLocation, llvm::omp::Directive::OMPD_taskgroup);
712
+ cp.processTODO <clause:: TaskReduction>(currentLocation,
713
+ llvm::omp::Directive::OMPD_taskgroup);
716
714
return genOpWithBody<mlir::omp::TaskGroupOp>(
717
715
OpWithBodyGenInfo (converter, semaCtx, currentLocation, eval)
718
716
.setGenNested (genNested)
@@ -983,16 +981,12 @@ genTargetOp(Fortran::lower::AbstractConverter &converter,
983
981
cp.processMap (currentLocation, directive, stmtCtx, mapOperands, &mapSymTypes,
984
982
&mapSymLocs, &mapSymbols);
985
983
986
- cp.processTODO <Fortran::parser::OmpClause::Private,
987
- Fortran::parser::OmpClause::Firstprivate,
988
- Fortran::parser::OmpClause::IsDevicePtr,
989
- Fortran::parser::OmpClause::HasDeviceAddr,
990
- Fortran::parser::OmpClause::Reduction,
991
- Fortran::parser::OmpClause::InReduction,
992
- Fortran::parser::OmpClause::Allocate,
993
- Fortran::parser::OmpClause::UsesAllocators,
994
- Fortran::parser::OmpClause::Defaultmap>(
995
- currentLocation, llvm::omp::Directive::OMPD_target);
984
+ cp.processTODO <clause::Private, clause::Firstprivate, clause::IsDevicePtr,
985
+ clause::HasDeviceAddr, clause::Reduction, clause::InReduction,
986
+ clause::Allocate, clause::UsesAllocators,
987
+ clause::Defaultmap>(currentLocation,
988
+ llvm::omp::Directive::OMPD_target);
989
+
996
990
// 5.8.1 Implicit Data-Mapping Attribute Rules
997
991
// The following code follows the implicit data-mapping rules to map all the
998
992
// symbols used inside the region that have not been explicitly mapped using
@@ -1097,8 +1091,8 @@ genTeamsOp(Fortran::lower::AbstractConverter &converter,
1097
1091
cp.processDefault ();
1098
1092
cp.processNumTeams (stmtCtx, numTeamsClauseOperand);
1099
1093
cp.processThreadLimit (stmtCtx, threadLimitClauseOperand);
1100
- cp.processTODO <Fortran::parser::OmpClause:: Reduction>(
1101
- currentLocation, llvm::omp::Directive::OMPD_teams);
1094
+ cp.processTODO <clause:: Reduction>(currentLocation,
1095
+ llvm::omp::Directive::OMPD_teams);
1102
1096
1103
1097
return genOpWithBody<mlir::omp::TeamsOp>(
1104
1098
OpWithBodyGenInfo (converter, semaCtx, currentLocation, eval)
@@ -1150,9 +1144,8 @@ static mlir::omp::DeclareTargetDeviceType getDeclareTargetInfo(
1150
1144
cp.processEnter (symbolAndClause);
1151
1145
cp.processLink (symbolAndClause);
1152
1146
cp.processDeviceType (deviceType);
1153
- cp.processTODO <Fortran::parser::OmpClause::Indirect>(
1154
- converter.getCurrentLocation (),
1155
- llvm::omp::Directive::OMPD_declare_target);
1147
+ cp.processTODO <clause::Indirect>(converter.getCurrentLocation (),
1148
+ llvm::omp::Directive::OMPD_declare_target);
1156
1149
}
1157
1150
1158
1151
return deviceType;
@@ -1209,8 +1202,7 @@ genOmpSimpleStandalone(Fortran::lower::AbstractConverter &converter,
1209
1202
break ;
1210
1203
case llvm::omp::Directive::OMPD_taskwait:
1211
1204
ClauseProcessor (converter, semaCtx, opClauseList)
1212
- .processTODO <Fortran::parser::OmpClause::Depend,
1213
- Fortran::parser::OmpClause::Nowait>(
1205
+ .processTODO <clause::Depend, clause::Nowait>(
1214
1206
currentLocation, llvm::omp::Directive::OMPD_taskwait);
1215
1207
firOpBuilder.create <mlir::omp::TaskwaitOp>(currentLocation);
1216
1208
break ;
@@ -1412,11 +1404,8 @@ createSimdLoop(Fortran::lower::AbstractConverter &converter,
1412
1404
cp.processIf (clause::If::DirectiveNameModifier::Simd, ifClauseOperand);
1413
1405
cp.processSimdlen (simdlenClauseOperand);
1414
1406
cp.processSafelen (safelenClauseOperand);
1415
- cp.processTODO <Fortran::parser::OmpClause::Aligned,
1416
- Fortran::parser::OmpClause::Allocate,
1417
- Fortran::parser::OmpClause::Linear,
1418
- Fortran::parser::OmpClause::Nontemporal,
1419
- Fortran::parser::OmpClause::Order>(loc, ompDirective);
1407
+ cp.processTODO <clause::Aligned, clause::Allocate, clause::Linear,
1408
+ clause::Nontemporal, clause::Order>(loc, ompDirective);
1420
1409
1421
1410
convertLoopBounds (converter, loc, lowerBound, upperBound, step,
1422
1411
loopVarTypeSize);
@@ -1473,8 +1462,7 @@ static void createWsLoop(Fortran::lower::AbstractConverter &converter,
1473
1462
cp.processScheduleChunk (stmtCtx, scheduleChunkClauseOperand);
1474
1463
cp.processReduction (loc, reductionVars, reductionDeclSymbols,
1475
1464
&reductionSymbols);
1476
- cp.processTODO <Fortran::parser::OmpClause::Linear,
1477
- Fortran::parser::OmpClause::Order>(loc, ompDirective);
1465
+ cp.processTODO <clause::Linear, clause::Order>(loc, ompDirective);
1478
1466
1479
1467
convertLoopBounds (converter, loc, lowerBound, upperBound, step,
1480
1468
loopVarTypeSize);
@@ -1541,11 +1529,9 @@ static void createSimdWsLoop(
1541
1529
const Fortran::parser::OmpClauseList &beginClauseList,
1542
1530
const Fortran::parser::OmpClauseList *endClauseList, mlir::Location loc) {
1543
1531
ClauseProcessor cp (converter, semaCtx, beginClauseList);
1544
- cp.processTODO <
1545
- Fortran::parser::OmpClause::Aligned, Fortran::parser::OmpClause::Allocate,
1546
- Fortran::parser::OmpClause::Linear, Fortran::parser::OmpClause::Safelen,
1547
- Fortran::parser::OmpClause::Simdlen, Fortran::parser::OmpClause::Order>(
1548
- loc, ompDirective);
1532
+ cp.processTODO <clause::Aligned, clause::Allocate, clause::Linear,
1533
+ clause::Safelen, clause::Simdlen, clause::Order>(loc,
1534
+ ompDirective);
1549
1535
// TODO: Add support for vectorization - add vectorization hints inside loop
1550
1536
// body.
1551
1537
// OpenMP standard does not specify the length of vector instructions.
0 commit comments