[mlir] tighten LLVM dialect verifiers to generate valid LLVM IR
authorAlex Zinenko <zinenko@google.com>
Tue, 16 Feb 2021 16:36:20 +0000 (17:36 +0100)
committerAlex Zinenko <zinenko@google.com>
Tue, 16 Feb 2021 17:18:21 +0000 (18:18 +0100)
commit2ab57c503ed9d235bf7bf9334a414e1d3c628d17
treefc4c2b072044a217f87e438dca08dfd6b1ffe278
parent211147c5ba49a17c8624186f50519885d89ca33d
[mlir] tighten LLVM dialect verifiers to generate valid LLVM IR

Verification of the LLVM IR produced when translating various MLIR dialects was
only active when calling the translation programmatically. This has led to
several cases of invalid LLVM IR being generated that could not be caught with
textual mlir-translate tests. Add verifiers for these cases and fix the tests
in preparation for enforcing the validation of LLVM IR.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D96774
mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
mlir/test/Dialect/LLVMIR/global.mlir
mlir/test/Dialect/LLVMIR/invalid.mlir
mlir/test/Dialect/LLVMIR/roundtrip.mlir
mlir/test/Target/avx512.mlir
mlir/test/Target/import.ll
mlir/test/Target/llvmir-intrinsics.mlir
mlir/test/Target/llvmir.mlir
mlir/test/Target/nvvmir.mlir
mlir/test/Target/rocdl.mlir