llvm-project/mlir/docs
Mehdi Amini 973ddb7d6e Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator
In particular for Graph Regions, the terminator needs is just a
historical artifact of the generalization of MLIR from CFG region.
Operations like Module don't need a terminator, and before Module
migrated to be an operation with region there wasn't any needed.

To validate the feature, the ModuleOp is migrated to use this trait and
the ModuleTerminator operation is deleted.

This patch is likely to break clients, if you're in this case:

- you may iterate on a ModuleOp with `getBody()->without_terminator()`,
  the solution is simple: just remove the ->without_terminator!
- you created a builder with `Builder::atBlockTerminator(module_body)`,
  just use `Builder::atBlockEnd(module_body)` instead.
- you were handling ModuleTerminator: it isn't needed anymore.
- for generic code, a `Block::mayNotHaveTerminator()` may be used.

Differential Revision: https://reviews.llvm.org/D98468
2021-03-25 03:59:03 +00:00
..
Bindings [mlir][python] Reorganize MLIR python into namespace packages. 2021-03-08 23:01:34 -08:00
Dialects [mlir][docs] Remove the BuiltinDialect documentation from langref and generate it from ODS 2021-03-19 18:21:33 -07:00
Rationale [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
Tools [mlir][linalg] Add linalg_opdsl tool first draft. 2021-03-05 11:45:09 -08:00
Tutorials Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator 2021-03-25 03:59:03 +00:00
includes/img [MLIR] Added documentation and manual to use bufferization features. 2020-11-12 10:43:05 +01:00
BufferDeallocationInternals.md Added documentation for SSA like property in Bufferization. 2021-03-17 12:49:37 +01:00
Bufferization.md [PatternMatch] Big mechanical rename OwningRewritePatternList -> RewritePatternSet and insert -> add. NFC 2021-03-22 17:20:50 -07:00
CAPI.md [mlir] NFC: fix trivial typos 2021-01-07 02:36:02 +09:00
CMakeLists.txt Remove CMake configuration for Sphinx targets in MLIR 2020-03-12 01:28:38 +00:00
Canonicalization.md [ODS] Implement a new 'hasCanonicalizeMethod' bit for cann patterns. 2021-03-23 13:45:45 -07:00
ConversionToLLVMDialect.md [mlir] Add better support for f80 and f128 2021-01-15 10:29:48 -05:00
DataLayout.md [mlir] introduce data layout entry for index type 2021-03-24 15:13:42 +01:00
DebugActions.md [mlir] Add support for DebugCounters using the new DebugAction infrastructure 2021-02-23 01:01:17 -08:00
DeclarativeRewrites.md [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
Diagnostics.md [mlir][docs] Remove the BuiltinDialect documentation from langref and generate it from ODS 2021-03-19 18:21:33 -07:00
DialectConversion.md [mlir][doc] Correct method names in DialectConversion.md to match the code. 2020-12-02 00:04:07 -08:00
EDSC.md [mlir] Change dialect namespace loop->scf 2020-05-13 19:20:21 +02:00
Interfaces.md Add a mechanism for Dialects to provide a fallback for OpInterface 2021-03-24 08:41:40 +00:00
LLVMDialectMemRefConvention.md [mlir][llvm] Pass struct results as parameter in c wrapper 2021-03-17 12:58:52 +01:00
LangRef.md Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator 2021-03-25 03:59:03 +00:00
OpDefinitions.md [ODS] Implement a new 'hasCanonicalizeMethod' bit for cann patterns. 2021-03-23 13:45:45 -07:00
PassManagement.md [mlir][docs] Small fix to local Pass Manager reproduction documentation 2021-02-24 11:47:34 -08:00
Passes.md [mlir] Add tensor passes to passes.md 2020-12-23 16:13:03 -08:00
PatternRewriter.md [PatternMatch] Big mechanical rename OwningRewritePatternList -> RewritePatternSet and insert -> add. NFC 2021-03-22 17:20:50 -07:00
Quantization.md [mlir][NFC] Remove usernames and google bug numbers from TODO comments. 2020-07-07 01:40:52 -07:00
README.txt [mlir] Add short readme.txt to docs directory 2020-02-18 08:35:22 -08:00
SPIRVToLLVMDialectConversion.md [MLIR][SPIRV] Rename `spv.selection` to `spv.mlir.selection`. 2021-03-06 16:05:31 +01:00
ShapeInference.md [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
SymbolsAndSymbolTables.md [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
Traits.md Define a `NoTerminator` traits that allows operations with a single block region to not provide a terminator 2021-03-25 03:59:03 +00:00
doxygen-mainpage.dox [mlir] Bootstrap doxygen config 2020-01-25 09:31:59 -08:00
doxygen.cfg.in [mlir] NFC: fix trivial typo 2020-04-29 14:47:56 +09:00

README.txt

MLIR documentation
==================

Please note mlir.llvm.org is where MLIR's rendered documentation is displayed.
The viewing experience on GitHub or elsewhere may not match those of the
website. For any changes please verify instead that they work on the main
website first.

See https://github.com/llvm/mlir-www for the website generation information.