diff --git a/mlir/include/mlir/Dialect/SCF/SCFOps.td b/mlir/include/mlir/Dialect/SCF/SCFOps.td index 32b51b72f501b..3b11d7ede650d 100644 --- a/mlir/include/mlir/Dialect/SCF/SCFOps.td +++ b/mlir/include/mlir/Dialect/SCF/SCFOps.td @@ -111,6 +111,10 @@ def ExecuteRegionOp : SCF_Op<"execute_region", [ let hasVerifier = 1; } +//===----------------------------------------------------------------------===// +// ForOp +//===----------------------------------------------------------------------===// + def ForOp : SCF_Op<"for", [AutomaticAllocationScope, DeclareOpInterfaceMethods]> { let summary = "reduce operation for parallel for"; let description = [{ @@ -786,6 +806,10 @@ def ReduceOp : SCF_Op<"reduce", [HasParent<"ParallelOp">]> { let hasRegionVerifier = 1; } +//===----------------------------------------------------------------------===// +// ReduceReturnOp +//===----------------------------------------------------------------------===// + def ReduceReturnOp : SCF_Op<"reduce.return", [HasParent<"ReduceOp">, NoSideEffect, Terminator]> { @@ -805,6 +829,10 @@ def ReduceReturnOp : let hasVerifier = 1; } +//===----------------------------------------------------------------------===// +// WhileOp +//===----------------------------------------------------------------------===// + def WhileOp : SCF_Op<"while", [DeclareOpInterfaceMethods, RecursiveSideEffects]> { @@ -939,6 +967,10 @@ def WhileOp : SCF_Op<"while", let hasRegionVerifier = 1; } +//===----------------------------------------------------------------------===// +// YieldOp +//===----------------------------------------------------------------------===// + def YieldOp : SCF_Op<"yield", [NoSideEffect, ReturnLike, Terminator, ParentOneOf<["ExecuteRegionOp, ForOp", "IfOp, ParallelOp, WhileOp"]>]> {