[flang-commits] [flang] [flang][OpenMP] Rewrite min/max with more than 2 arguments (PR #146423)
Krzysztof Parzyszek via flang-commits
flang-commits at lists.llvm.org
Tue Jul 1 06:04:04 PDT 2025
================
@@ -350,10 +603,28 @@ genAtomicUpdate(lower::AbstractConverter &converter,
mlir::Type atomType = fir::unwrapRefType(atomAddr.getType());
// This must exist by now.
- semantics::SomeExpr input = *evaluate::GetConvertInput(assign.rhs);
- std::vector<semantics::SomeExpr> args =
- evaluate::GetTopLevelOperation(input).second;
+ semantics::SomeExpr rhs = assign.rhs;
+ semantics::SomeExpr input = *evaluate::GetConvertInput(rhs);
+ auto [opcode, args] = evaluate::GetTopLevelOperation(input);
assert(!args.empty() && "Update operation without arguments");
+
+ const semantics::SomeExpr *atomArg = [&]() {
+ for (const semantics::SomeExpr &e : args) {
----------------
kparzysz wrote:
Fixed.
https://github.com/llvm/llvm-project/pull/146423
More information about the flang-commits
mailing list