[all-commits] [llvm/llvm-project] bd30a7: [mlir] use built-in vector types instead of LLVM d...
ftynse via All-commits
all-commits at lists.llvm.org
Tue Jan 12 01:04:53 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: bd30a796fc4b51750248ccba29cd6fb1f61859f5
https://github.com/llvm/llvm-project/commit/bd30a796fc4b51750248ccba29cd6fb1f61859f5
Author: Alex Zinenko <zinenko at google.com>
Date: 2021-01-12 (Tue, 12 Jan 2021)
Changed paths:
M mlir/docs/ConversionToLLVMDialect.md
M mlir/docs/Dialects/LLVM.md
M mlir/docs/SPIRVToLLVMDialectConversion.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-fp.mlir
M mlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-int.mlir
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/TypeTranslation.cpp
M mlir/test/Conversion/ArmNeonToLLVM/convert-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/arithmetic-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/cast-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/comparison-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/constant-op-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/func-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/glsl-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/logical-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/shift-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.mlir
M mlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToROCDL/vector-to-rocdl.mlir
M mlir/test/Dialect/LLVMIR/dialect-cast.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/types-invalid.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Target/arm-neon.mlir
M mlir/test/Target/arm-sve.mlir
M mlir/test/Target/avx512.mlir
M mlir/test/Target/import.ll
M mlir/test/Target/llvmir-intrinsics.mlir
M mlir/test/Target/llvmir-types.mlir
M mlir/test/Target/llvmir.mlir
M mlir/test/Target/nvvmir.mlir
M mlir/test/Target/rocdl.mlir
Log Message:
-----------
[mlir] use built-in vector types instead of LLVM dialect types when possible
Continue the convergence between LLVM dialect and built-in types by using the
built-in vector type whenever possible, that is for fixed vectors of built-in
integers and built-in floats. LLVM dialect vector type is still in use for
pointers, less frequent floating point types that do not have a built-in
equivalent, and scalable vectors. However, the top-level `LLVMVectorType` class
has been removed in favor of free functions capable of inspecting both built-in
and LLVM dialect vector types: `LLVM::getVectorElementType`,
`LLVM::getNumVectorElements` and `LLVM::getFixedVectorType`. Additional work is
necessary to design an implemented the extensions to built-in types so as to
remove the `LLVMFixedVectorType` entirely.
Note that the default output format for the built-in vectors does not have
whitespace around the `x` separator, e.g., `vector<4xf32>` as opposed to the
LLVM dialect vector type format that does, e.g., `!llvm.vec<4 x fp128>`. This
required changing the FileCheck patterns in several tests.
Reviewed By: mehdi_amini, silvas
Differential Revision: https://reviews.llvm.org/D94405
More information about the All-commits
mailing list