[Openmp-commits] [flang] [llvm] [mlir] [openmp] [Flang][OpenMP] Add support for interop construct (PR #203959)

Sairudra More via Openmp-commits openmp-commits at lists.llvm.org
Wed Jul 8 23:32:49 PDT 2026


================
@@ -4527,6 +4527,46 @@ void OrderedRegionOp::build(OpBuilder &builder, OperationState &state,
 
 LogicalResult OrderedRegionOp::verify() { return verifyOrderedParent(**this); }
 
+//===----------------------------------------------------------------------===//
+// InteropInitOp
+//===----------------------------------------------------------------------===//
+
+void InteropInitOp::build(OpBuilder &builder, OperationState &state,
----------------
Saieiei wrote:

Small cleanup question: do we need these three `build(..., const Interop*Operands &clauses)` overloads?

The current Flang lowering seems to use the full default builders directly, and these overloads appear to build invalid ops if called: `interop_var` is required for all three ops, and `interop_types` is required for `InteropInitOp`, but the clause structs only carry the shared `depend`/`nowait` operands.

Since the default builders remain available, could we drop these custom builder declarations/stubs unless a generic clause-based path needs them?

https://github.com/llvm/llvm-project/pull/203959


More information about the Openmp-commits mailing list