[all-commits] [llvm/llvm-project] 881dc3: [mlir] replace llvm.mlir.cast with unrealized_conv...
ftynse via All-commits
all-commits at lists.llvm.org
Fri Jul 16 06:14:25 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 881dc34f73e2eb20cbb0bf2d95b6fc79485e0fd9
https://github.com/llvm/llvm-project/commit/881dc34f73e2eb20cbb0bf2d95b6fc79485e0fd9
Author: Alex Zinenko <zinenko at google.com>
Date: 2021-07-16 (Fri, 16 Jul 2021)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/LLVMCommon/ConversionTarget.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/OpenACCToLLVM/OpenACCToLLVM.cpp
M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/IR/BuiltinDialect.cpp
M mlir/test/Conversion/AsyncToLLVM/convert-runtime-to-llvm.mlir
M mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
M mlir/test/Conversion/MemRefToLLVM/convert-static-memref-ops.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/ArmSVE/memcpy.mlir
R mlir/test/Dialect/LLVMIR/dialect-cast.mlir
Log Message:
-----------
[mlir] replace llvm.mlir.cast with unrealized_conversion_cast
The dialect-specific cast between builtin (ex-standard) types and LLVM
dialect types was introduced long time before built-in support for
unrealized_conversion_cast. It has a similar purpose, but is restricted
to compatible builtin and LLVM dialect types, which may hamper
progressive lowering and composition with types from other dialects.
Replace llvm.mlir.cast with unrealized_conversion_cast, and drop the
operation that became unnecessary.
Also make unrealized_conversion_cast legal by default in
LLVMConversionTarget as the majority of convesions using it are partial
conversions that actually want the casts to persist in the IR. The
standard-to-llvm conversion, which is still expected to run last, cleans
up the remaining casts standard-to-llvm conversion, which is still
expected to run last, cleans up the remaining casts
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D105880
More information about the All-commits
mailing list