llvm-project/mlir/docs
Alex Zinenko 9c5982ef8e [mlir] support recursive types in type conversion infra
MLIR supports recursive types but they could not be handled by the conversion
infrastructure directly as it would result in infinite recursion in
`convertType` for elemental types. Support this case by keeping the "call
stack" of nested type conversions in the TypeConverter class and by passing it
as an optional argument to the individual conversion callback. The callback can
then check if a specific type is present on the stack more than once to detect
and handle the recursive case.

This approach is preferred to the alternative approach of having a separate
callback dedicated to handling only the recursive case as the latter was
observed to introduce ~3% time overhead on a 50MB IR file even if it did not
contain recursive types.

This approach is also preferred to keeping a local stack in type converters
that need to handle recursive types as that would compose poorly in case of
out-of-tree or cross-project extensions.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D113579
2021-11-22 18:16:02 +01:00
..
Bindings [mlir][docs] Fix obvious spelling mistakes in documentation 2021-10-29 09:19:11 +02:00
Dialects [NFC][mlir] Inclusive language: Replace an instance of master in docs 2021-11-18 13:10:32 -06:00
Rationale [MLIR][Docs] Fix link syntax in Rationale.md 2021-11-17 23:38:19 +00:00
Tools [mlir][docs] Fix obvious spelling mistakes in documentation 2021-10-29 09:19:11 +02:00
Tutorials [mlir][NFC] Replace references to Identifier with StringAttr 2021-11-16 17:36:26 +00:00
includes/img [MLIR] Replace std ops with arith dialect ops 2021-10-13 03:07:03 +00:00
BufferDeallocationInternals.md [MLIR] Replace std ops with arith dialect ops 2021-10-13 03:07:03 +00:00
Bufferization.md [MLIR][arith] fix references to std.constant in comments 2021-10-14 20:38:47 +00:00
CAPI.md [mlir] support interfaces in Python bindings 2021-10-25 12:50:42 +02:00
CMakeLists.txt Remove CMake configuration for Sphinx targets in MLIR 2020-03-12 01:28:38 +00:00
Canonicalization.md NFC: Callout restriction on folding 0-result ops in documentation. 2021-11-19 20:35:01 +00:00
DataLayout.md [mlir][NFC] Replace references to Identifier with StringAttr 2021-11-16 17:36:26 +00:00
DebugActions.md [mlir][doc] Fix links and references in top level docs directory 2021-05-24 18:43:00 +02:00
DeclarativeRewrites.md [mlir-tblgen] Support `either` in Tablegen DRR. 2021-11-08 23:16:03 +00:00
Diagnostics.md [MLIR] Replace std ops with arith dialect ops 2021-10-13 03:07:03 +00:00
DialectConversion.md [mlir] support recursive types in type conversion infra 2021-11-22 18:16:02 +01:00
Interfaces.md [mlir][NFC] Replace references to Identifier with StringAttr 2021-11-16 17:36:26 +00:00
LangRef.md [NFC] Inclusive language: Remove instances of master in URLs 2021-11-05 08:48:41 -05:00
OpDefinitions.md [mlir][ODS] Support result type inference in custom assembly format 2021-10-11 14:07:56 -06:00
PassManagement.md [MLIR][arith] fix references to std.constant in comments 2021-10-14 20:38:47 +00:00
Passes.md [MLIR][arith] fix references to std.constant in comments 2021-10-14 20:38:47 +00:00
PatternRewriter.md [mlir:GreedyPatternRewriter] Add debug logging for pattern rewriter actions 2021-10-21 17:14:35 +00:00
Quantization.md Fix invalid math formulas in quantization doc 2021-06-01 03:50:59 +00:00
README.txt [mlir] Add short readme.txt to docs directory 2020-02-18 08:35:22 -08:00
SPIRVToLLVMDialectConversion.md [MLIR] Replace std ops with arith dialect ops 2021-10-13 03:07:03 +00:00
ShapeInference.md [mlir][docs] Fix obvious spelling mistakes in documentation 2021-10-29 09:19:11 +02:00
SymbolsAndSymbolTables.md [MLIR] Replace std ops with arith dialect ops 2021-10-13 03:07:03 +00:00
TargetLLVMIR.md [mlir][docs] Fix obvious spelling mistakes in documentation 2021-10-29 09:19:11 +02:00
Traits.md [MLIR] Replace std ops with arith dialect ops 2021-10-13 03:07:03 +00:00
doxygen-mainpage.dox [mlir] Bootstrap doxygen config 2020-01-25 09:31:59 -08:00
doxygen.cfg.in [NFC] Inclusive Language: change master to main for .chm files 2021-11-08 08:23:04 -06: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.