llvm-project/mlir
Alex Zinenko 176379e0c8 [mlir] Use the interface-based translation for LLVM "intrinsic" dialects
Port the translation of five dialects that define LLVM IR intrinsics
(LLVMAVX512, LLVMArmNeon, LLVMArmSVE, NVVM, ROCDL) to the new dialect
interface-based mechanism. This allows us to remove individual translations
that were created for each of these dialects and just use one common
MLIR-to-LLVM-IR translation that potentially supports all dialects instead,
based on what is registered and including any combination of translatable
dialects. This removal was one of the main goals of the refactoring.

To support the addition of GPU-related metadata, the translation interface is
extended with the `amendOperation` function that allows the interface
implementation to post-process any translated operation with dialect attributes
from the dialect for which the interface is implemented regardless of the
operation's dialect. This is currently applied to "kernel" functions, but can
be used to construct other metadata in dialect-specific ways without
necessarily affecting operations.

Depends On D96591, D96504

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D96592
2021-02-15 14:43:07 +01:00
..
cmake/modules [MLIR] [CMake] Support building MLIR standalone 2021-02-02 13:10:21 -06:00
docs Enable `Pass::initialize()` to fail by returning a LogicalResult 2021-02-11 01:51:53 +00:00
examples [mlir] Use the interface-based translation for LLVM "intrinsic" dialects 2021-02-15 14:43:07 +01:00
include [mlir] Use the interface-based translation for LLVM "intrinsic" dialects 2021-02-15 14:43:07 +01:00
integration_test Reland "[mlir] add support for verification in integration tests" 2021-02-14 20:30:05 +01:00
lib [mlir] Use the interface-based translation for LLVM "intrinsic" dialects 2021-02-15 14:43:07 +01:00
test [mlir] Use the interface-based translation for LLVM "intrinsic" dialects 2021-02-15 14:43:07 +01:00
tools [mlir] Use the interface-based translation for LLVM "intrinsic" dialects 2021-02-15 14:43:07 +01:00
unittests [mlir] Support repeated delayed registration of dialect interfaces 2021-02-15 10:46:26 +01:00
utils [mlir][spirv] Fix script for availability autogen and refresh ops 2021-01-22 13:07:36 -05:00
.clang-format
.clang-tidy Fix MLIR clang-tidy: when tweaking it does not inherit from the parent 2020-03-07 17:44:21 +00:00
CMakeLists.txt Fix CMake configuration for MLIR unittests 2021-02-11 01:17:49 +00:00
LICENSE.TXT Add the Apache2 with LLVM exceptions license to MLIR 2019-12-24 00:58:06 -08:00
README.md mlir README.md: Fix the syntax 2019-12-24 13:31:07 +01:00

README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.