From ad4152d1b833f4696d6f9deccc021f240bab3d9d Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 30 Jun 2021 10:09:42 -0400 Subject: [PATCH] [MLIR] Update description of SCF.execute_region op See https://reviews.llvm.org/D104865 --- mlir/include/mlir/Dialect/SCF/SCFOps.td | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/mlir/include/mlir/Dialect/SCF/SCFOps.td b/mlir/include/mlir/Dialect/SCF/SCFOps.td index 9f039b6..feb862d 100644 --- a/mlir/include/mlir/Dialect/SCF/SCFOps.td +++ b/mlir/include/mlir/Dialect/SCF/SCFOps.td @@ -62,16 +62,13 @@ def ConditionOp : SCF_Op<"condition", def ExecuteRegionOp : SCF_Op<"execute_region"> { let summary = "operation that executes its region exactly once"; let description = [{ - The `execute_region` operation executes the region held exactly once. The op - cannot have any operands, nor does its region have any arguments. All SSA - values that dominate the op can be accessed inside. The op's region can have - multiple blocks and the blocks can have terminators the same way as FuncOp. - The values returned from this op's region define the op's results. The op - primarily provides control flow encapsulation and isolation from a parent - op's control flow restrictions if any; for example, it allows representation - of inlined calls in the inside of structured control flow ops with - restrictions like affine.for/if, scf.for/if ops, and thus the optimization - of IR in such a mixed form. + The `execute_region` operation is used to allow multiple blocks within SCF + and other operations which can hold only one block. The `execute_region` + operation executes the region held exactly once and cannot have any operands. + As such, its region has no arguments. All SSA values that dominate the op can + be accessed inside the op. The op's region can have multiple blocks and the + blocks can have multiple distinct terminators. Values returned from this op's + region define the op's results. Example: -- 2.7.4