diff --git a/mlir/docs/Interfaces.md b/mlir/docs/Interfaces.md --- a/mlir/docs/Interfaces.md +++ b/mlir/docs/Interfaces.md @@ -228,3 +228,7 @@ - RegionKind::Graph - represents a graph region without control flow semantics - RegionKind::SSACFG - represents an [SSA-style control flow](LangRef.md#modeling-control-flow) region with basic blocks and reachability - `hasSSADominance(unsigned index)` - Return true if the region with the given index inside this operation requires dominance. + +##### SymbolInterfaces + +* `SymbolOpInterface` - Used to represent [`Symbol`](SymbolsAndSymbolTables.md#symbol) operations which reside immediately within a region that defines a [`SymbolTable`](SymbolsAndSymbolTables.md#symbol-table). diff --git a/mlir/docs/SymbolsAndSymbolTables.md b/mlir/docs/SymbolsAndSymbolTables.md --- a/mlir/docs/SymbolsAndSymbolTables.md +++ b/mlir/docs/SymbolsAndSymbolTables.md @@ -37,10 +37,10 @@ ### Defining a Symbol -A `Symbol` operation may use the `OpTrait::Symbol` trait to provide the -necessary verification and accessors, but this is not required as some -operations, such as `module`, conditionally define a symbol. `Symbol`s must have -the following properties: +A `Symbol` operation should use the `SymbolOpInterface` interface to provide the +necessary verification and accessors; it also supports +operations, such as `module`, that conditionally define a symbol. `Symbol`s must +have the following properties: * A `StringAttr` attribute named 'SymbolTable::getSymbolAttrName()'(`sym_name`). diff --git a/mlir/docs/Traits.md b/mlir/docs/Traits.md --- a/mlir/docs/Traits.md +++ b/mlir/docs/Traits.md @@ -267,13 +267,6 @@ This trait provides APIs and verifiers for operations with regions that have a single block that must terminate with `TerminatorOpType`. -### Symbol - -* `OpTrait::Symbol` -- `Symbol` - -This trait is used for operations that define a -[`Symbol`](SymbolsAndSymbolTables.md#symbol). - ### SymbolTable * `OpTrait::SymbolTable` -- `SymbolTable`