llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-flang-codegen Author: Tom Eccles (tblah) <details> <summary>Changes</summary> OpenMP reduction declare operations can contain FIR code which needs to be lowered to LLVM. With array reductions, these regions can contain more complicated operations which need PreCGRewriting. A similar extra case was already needed for fir::GlobalOp. OpenMP array reductions 3/6 --- Full diff: https://github.com/llvm/llvm-project/pull/84954.diff 1 Files Affected: - (modified) flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp (+5) ``````````diff diff --git a/flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp b/flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp index 0170b56367cf3c..dd935e71762355 100644 --- a/flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp +++ b/flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp @@ -22,6 +22,7 @@ #include "mlir/Transforms/RegionUtils.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/Debug.h" +#include <mlir/Dialect/OpenMP/OpenMPDialect.h> namespace fir { #define GEN_PASS_DEF_CODEGENREWRITE @@ -319,6 +320,10 @@ class CodeGenRewrite : public fir::impl::CodeGenRewriteBase<CodeGenRewrite> { runOn(func, func.getBody()); for (auto global : mod.getOps<fir::GlobalOp>()) runOn(global, global.getRegion()); + for (auto omp : mod.getOps<mlir::omp::ReductionDeclareOp>()) { + runOn(omp, omp.getInitializerRegion()); + runOn(omp, omp.getReductionRegion()); + } } }; `````````` </details> https://github.com/llvm/llvm-project/pull/84954 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits