[flang-commits] [flang] [Flang][OpenMP] MLIR lowering support for grainsize and num_tasks clause (PR #128490)
Tom Eccles via flang-commits
flang-commits at lists.llvm.org
Wed May 7 03:46:54 PDT 2025
================
@@ -365,6 +365,27 @@ bool ClauseProcessor::processHint(mlir::omp::HintClauseOps &result) const {
return false;
}
+bool ClauseProcessor::processGrainsize(
+ lower::StatementContext &stmtCtx,
+ mlir::omp::GrainsizeClauseOps &result) const {
+ using grainsize = omp::clause::Grainsize;
+ if (auto *clause = findUniqueClause<grainsize>()) {
+ fir::FirOpBuilder &firOpBuilder = converter.getFirOpBuilder();
+ mlir::MLIRContext *context = firOpBuilder.getContext();
+ const auto &modifier =
+ std::get<std::optional<grainsize::Prescriptiveness>>(clause->t);
+ if (modifier) {
+ result.grainsizeMod = mlir::omp::ClauseGrainsizeTypeAttr::get(
+ context, mlir::omp::ClauseGrainsizeType::Strict);
+ }
----------------
tblah wrote:
I understand that `strict` is the only grainsize modifier currently in the openmp standard, but I think it would be good practice to check that the modifier is actually `strict` just in case something else is added in the future.
https://github.com/llvm/llvm-project/pull/128490
More information about the flang-commits
mailing list