[flang-commits] [flang] [mlir] [flang][OpenMP] Concatenate begin and end clauses into single list (PR #89090)
Sergio Afonso via flang-commits
flang-commits at lists.llvm.org
Mon Apr 22 04:49:21 PDT 2024
================
@@ -1280,30 +1274,26 @@ static void genWsloopClauses(
Fortran::lower::AbstractConverter &converter,
Fortran::semantics::SemanticsContext &semaCtx,
Fortran::lower::StatementContext &stmtCtx,
- Fortran::lower::pft::Evaluation &eval, const List<Clause> &beginClauses,
- const List<Clause> &endClauses, mlir::Location loc,
- mlir::omp::WsloopClauseOps &clauseOps,
+ Fortran::lower::pft::Evaluation &eval, const List<Clause> &clauses,
+ mlir::Location loc, mlir::omp::WsloopClauseOps &clauseOps,
llvm::SmallVectorImpl<const Fortran::semantics::Symbol *> &iv,
llvm::SmallVectorImpl<mlir::Type> &reductionTypes,
llvm::SmallVectorImpl<const Fortran::semantics::Symbol *> &reductionSyms) {
fir::FirOpBuilder &firOpBuilder = converter.getFirOpBuilder();
- ClauseProcessor bcp(converter, semaCtx, beginClauses);
- bcp.processCollapse(loc, eval, clauseOps, iv);
- bcp.processOrdered(clauseOps);
- bcp.processReduction(loc, clauseOps, &reductionTypes, &reductionSyms);
- bcp.processSchedule(stmtCtx, clauseOps);
+ ClauseProcessor cp(converter, semaCtx, clauses);
+ cp.processCollapse(loc, eval, clauseOps, iv);
+ cp.processOrdered(clauseOps);
+ cp.processReduction(loc, clauseOps, &reductionTypes, &reductionSyms);
+ cp.processSchedule(stmtCtx, clauseOps);
clauseOps.loopInclusiveAttr = firOpBuilder.getUnitAttr();
// TODO Support delayed privatization.
if (ReductionProcessor::doReductionByRef(clauseOps.reductionVars))
clauseOps.reductionByRefAttr = firOpBuilder.getUnitAttr();
- if (!endClauses.empty()) {
- ClauseProcessor ecp(converter, semaCtx, endClauses);
- ecp.processNowait(clauseOps);
- }
+ cp.processNowait(clauseOps);
----------------
skatrak wrote:
Nit: Same here, now it should go after `cp.processCollapse()`.
https://github.com/llvm/llvm-project/pull/89090
More information about the flang-commits
mailing list