llvm-project/mlir/docs
Alex Zinenko 2230bf99c7 [mlir] replace LLVMIntegerType with built-in integer type
The LLVM dialect type system has been closed until now, i.e. did not support
types from other dialects inside containers. While this has had obvious
benefits of deriving from a common base class, it has led to some simple types
being almost identical with the built-in types, namely integer and floating
point types. This in turn has led to a lot of larger-scale complexity: simple
types must still be converted, numerous operations that correspond to LLVM IR
intrinsics are replicated to produce versions operating on either LLVM dialect
or built-in types leading to quasi-duplicate dialects, lowering to the LLVM
dialect is essentially required to be one-shot because of type conversion, etc.
In this light, it is reasonable to trade off some local complexity in the
internal implementation of LLVM dialect types for removing larger-scale system
complexity. Previous commits to the LLVM dialect type system have adapted the
API to support types from other dialects.

Replace LLVMIntegerType with the built-in IntegerType plus additional checks
that such types are signless (these are isolated in a utility function that
replaced `isa<LLVMType>` and in the parser). Temporarily keep the possibility
to parse `!llvm.i32` as a synonym for `i32`, but add a deprecation notice.

Reviewed By: mehdi_amini, silvas, antiagainst

Differential Revision: https://reviews.llvm.org/D94178
2021-01-07 19:48:31 +01:00
..
Bindings [mlir][Python] Support finding pybind11 from the python environment. 2020-11-22 12:52:01 -08:00
Dialects [mlir] replace LLVMIntegerType with built-in integer type 2021-01-07 19:48:31 +01:00
Rationale [mlir] Add section page for Rationale docs. 2020-12-14 14:49:30 -08:00
Tutorials [mlir] replace LLVMIntegerType with built-in integer type 2021-01-07 19:48:31 +01:00
includes/img [MLIR] Added documentation and manual to use bufferization features. 2020-11-12 10:43:05 +01:00
Bufferization.md [MLIR] Added documentation and manual to use bufferization features. 2020-11-12 10:43:05 +01: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 Merge OpFolderDialectInterface with DialectFoldInterface (NFC) 2020-08-13 00:39:22 +00:00
ConversionToLLVMDialect.md [mlir] replace LLVMIntegerType with built-in integer type 2021-01-07 19:48:31 +01:00
DeclarativeRewrites.md [mlir] Simplify DDR matching patterns with equal operands for operators where it's applicable. Added documentation. 2020-10-21 21:31:39 +00:00
Diagnostics.md [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -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 [mlir][Interfaces] Tidy up the documentation for interfaces 2020-12-09 15:34:07 -08:00
LLVMDialectMemRefConvention.md [mlir] replace LLVMIntegerType with built-in integer type 2021-01-07 19:48:31 +01:00
LangRef.md [mlir][Attributes][NFC] Move all builtin Attribute classes to BuiltinAttributes.h 2020-12-03 18:02:11 -08:00
OpDefinitions.md [mlir][ODS] Rename several uses of 'description' to 'summary' 2021-01-06 14:18:58 -08:00
PassManagement.md [mlir] NFC: fix trivial typos 2021-01-07 02:36:02 +09:00
Passes.md [mlir] Add tensor passes to passes.md 2020-12-23 16:13:03 -08:00
PatternRewriter.md [MLIR][Docs] Fix a small typo in documentation. 2020-12-21 22:30:22 +01: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] replace LLVMIntegerType with built-in integer type 2021-01-07 19:48:31 +01:00
ShapeInference.md [mlir][Types][NFC] Move all of the builtin Type classes to BuiltinTypes.h 2020-12-03 18:02:10 -08:00
SymbolsAndSymbolTables.md [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
Traits.md [mlir] Add ElementwiseMappable trait and apply it to std elementwise ops. 2020-11-10 13:44:44 -08: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.