llvm-project/mlir/test/Dialect/LLVMIR
Alex Zinenko aec9e20a3e [mlir] introduce type constraints for operands of LLVM dialect operations
Historically, the operations in the MLIR's LLVM dialect only checked that the
operand are of LLVM dialect type without more detailed constraints. This was
due to LLVM dialect types wrapping LLVM IR types and having clunky verification
methods. With the new first-class modeling, it is possible to define type
constraints similarly to other dialects and use them to enforce some
correctness rules in verifiers instead of having LLVM assert during translation
to LLVM IR. This hardening discovered several issues where MLIR was producing
LLVM dialect operations that cannot exist in LLVM IR.

Depends On D85900

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D85901
2020-09-04 10:01:59 +02:00
..
func.mlir [mlir] switch the modeling of LLVM types to use the new mechanism 2020-08-04 14:29:25 +02:00
global.mlir [mlir] switch the modeling of LLVM types to use the new mechanism 2020-08-04 14:29:25 +02:00
invalid.mlir [mlir] introduce type constraints for operands of LLVM dialect operations 2020-09-04 10:01:59 +02:00
legalize-for-export.mlir [mlir] LLVM dialect: move ensureDistinctSuccessors out of std->LLVM conversion 2020-03-17 15:22:14 +01:00
nvvm.mlir [mlir] switch the modeling of LLVM types to use the new mechanism 2020-08-04 14:29:25 +02:00
rocdl.mlir [mlir] switch the modeling of LLVM types to use the new mechanism 2020-08-04 14:29:25 +02:00
roundtrip.mlir [mlir] do not use llvm.cmpxchg with floats 2020-08-17 15:44:23 +02:00
terminator.mlir Convert the Canonicalize and CSE passes to generic Operation Passes. 2019-10-24 15:01:09 -07:00
types-invalid.mlir [mlir] Add verification to LLVM dialect types 2020-08-11 17:21:52 +02:00
types.mlir [mlir] switch the modeling of LLVM types to use the new mechanism 2020-08-04 14:29:25 +02:00