llvm-project/mlir/test
Nicolas Vasilache 047400ed82 [mlir][LLVMIR] Add support for InlineAsmOp
The InlineAsmOp mirrors the underlying LLVM semantics with a notable
exception: the embedded `asm_string` is not allowed to define or reference
any symbol or any global variable: only the operands of the op may be read,
written, or referenced.
Attempting to define or reference any symbol or any global behavior is
considered undefined behavior at this time.

The asm dialect syntax is currently specified with an integer (0 [default] for the "att dialect", 1 for the intel dialect) to circumvent the ODS limitation on string enums.

Translation to LLVM is provided and raises the fact that the asm constraints string must be well-formed with respect to in/out operands. No check is performed on the asm_string.

An InlineAsm instruction in LLVM is a special call operation to a function that is constructed on the fly.
It does not fit the current model of MLIR calls with symbols.
As a consequence, the current implementation constructs the function type in ModuleTranslation.cpp.
This should be refactored in the future.

The mlir-cpu-runner is augmented with the global initialization of the X86 asm parser to allow proper execution in JIT mode. Previously, only the X86 asm printer was initialized.

Differential revision: https://reviews.llvm.org/D92166
2020-11-30 08:32:02 +00:00
..
Analysis [mlir] Add a shape function library op 2020-11-29 11:15:30 -08:00
Bindings [mlir][CAPI] Convert the rest of the API int -> bool. 2020-11-29 20:36:42 -08:00
CAPI Use MlirStringRef throughout the C API 2020-11-23 14:07:30 -08:00
Conversion [mlir] Add gpu.allocate, gpu.deallocate ops with LLVM lowering to runtime function calls. 2020-11-27 09:40:59 +01:00
Dialect [mlir][LLVMIR] Add support for InlineAsmOp 2020-11-30 08:32:02 +00:00
EDSC [mlir][BuiltinDialect] Resolve comments from D91571 2020-11-19 11:12:49 -08:00
Examples [MLIR] Change FuncOp assembly syntax to print visibility inline instead of in attrib dict. 2020-11-09 11:08:08 -08:00
IR Don't elide splat attributes during printing 2020-11-27 14:42:26 +00:00
Pass [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
SDBM Remove global dialect registration 2020-10-24 00:35:55 +00:00
Target [mlir][LLVMIR] Add support for InlineAsmOp 2020-11-30 08:32:02 +00:00
Transforms [mlir][DialectConversion] Do not prematurely drop unused cast operations 2020-11-26 17:39:14 +01:00
Unit Add build files and update README. 2019-03-30 11:23:22 -07:00
lib [mlir] Add a shape function library op 2020-11-29 11:15:30 -08:00
mlir-cpu-runner [mlir] Temporarily disable flaky mlir-cpu-runner async tests 2020-11-23 16:53:15 +01:00
mlir-cuda-runner [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
mlir-linalg-ods-gen [mlir][Linalg] Side effects interface for Linalg ops 2020-11-05 09:00:28 +00:00
mlir-opt Separate the Registration from Loading dialects in the Context 2020-08-19 01:19:03 +00:00
mlir-reduce [MLIR] Change FuncOp assembly syntax to print visibility inline instead of in attrib dict. 2020-11-09 11:08:08 -08:00
mlir-rocm-runner [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
mlir-spirv-cpu-runner [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
mlir-tblgen [mlir] move lib/Bindings/Python/Attributes.td to include/mlir/Bindings/Python 2020-11-24 09:19:01 +01:00
mlir-vulkan-runner [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
APITest.h Mass update the MLIR license header to mention "Part of the LLVM project" 2020-01-26 03:58:30 +00:00
CMakeLists.txt [mlir] Make attributes mutable in Python bindings 2020-11-24 09:16:25 +01:00
lit.cfg.py Add a basic C API for the MLIR PassManager as well as a basic TableGen backend for creating passes 2020-11-04 06:36:31 +00:00
lit.site.cfg.py.in Fix MLIR lit test configuration after cmake Python detection change 2020-11-13 04:44:45 +00:00