[all-commits] [llvm/llvm-project] 3fa5ee: [mlir][ArmSME] Introduce custom TypeConverter for ...
Andrzej WarzyĆski via All-commits
all-commits at lists.llvm.org
Tue Jul 18 02:36:05 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3fa5ee67babad11a88943ede42a4123299acf31a
https://github.com/llvm/llvm-project/commit/3fa5ee67babad11a88943ede42a4123299acf31a
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2023-07-18 (Tue, 18 Jul 2023)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
A mlir/lib/Dialect/ArmSME/Transforms/ArmSMETypeConverter.cpp
M mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
Log Message:
-----------
[mlir][ArmSME] Introduce custom TypeConverter for ArmSME
At the moment, SME-to-LLVM lowerings rely entirely on
`LLVMTypeConverter`. This patch introduces a dedicated `TypeConverter`
that inherits from `LLVMTypeConverter` (it will also be used when
lowering ArmSME Ops to LLVM).
The new type converter merely disables lowerings for `VectorType` to
prevent 2-d scalable vectors (common in the context of ArmSME), e.g.
`vector<[16]x[16]xi8>`,
entering the LLVM Type converter. LLVM does not support arrays of
scalable vectors and hence the need for specialisation. In the case of
SME such types are effectively eliminated when emitting LLVM IR
intrinsics for SME.
Differential Revision: https://reviews.llvm.org/D155365
More information about the All-commits
mailing list