diff --git a/mlir/docs/LangRef.md b/mlir/docs/LangRef.md --- a/mlir/docs/LangRef.md +++ b/mlir/docs/LangRef.md @@ -366,11 +366,11 @@ instructions inside the block are executed in order and terminator operations implement control flow branches between basic blocks. -A region with a single block may not include a -[terminator operation](#terminator-operations). The enclosing op can opt-out of -this requirement with the `NoTerminator` trait. The top-level `ModuleOp` is an -example of such operation which defined this trait and whose block body does not -have a terminator. +The last operation in a block must be a +[terminator operation](#control-flow-and-ssacfg-regions). A region with a single +block may opt out of this requirement by attaching the `NoTerminator` on the +enclosing op. The top-level `ModuleOp` is an example of such an operation which +defines this trait and whose block body does not have a terminator. Blocks in MLIR take a list of block arguments, notated in a function-like way. Block arguments are bound to values specified by the semantics of individual