[mlir] turn complex-to-llvm into a partial conversion
authorAlex Zinenko <zinenko@google.com>
Thu, 28 Jan 2021 16:42:41 +0000 (17:42 +0100)
committerAlex Zinenko <zinenko@google.com>
Thu, 28 Jan 2021 18:14:01 +0000 (19:14 +0100)
commitd6be27734764ec9718b4206c4b77dfac6c67b1d8
tree2aa85db6e1a6a1ba7a7c8fb56517447a435fcd7a
parent275c6af7d7f1ed63a03d05b4484413e447133269
[mlir] turn complex-to-llvm into a partial conversion

It is no longer necessary to also convert other "standard" ops along with the
complex dialect: the element types are now built-in integers or floating point
types, and the top-level cast between complex and struct is automatically
inserted and removed in progressive lowering.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D95625
mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
mlir/test/Conversion/ComplexToLLVM/full-conversion.mlir [new file with mode: 0644]
mlir/test/Dialect/LLVMIR/dialect-cast.mlir