aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Function.cpp
diff options
context:
space:
mode:
authorAndrzej Warzynski <andrzej.warzynski@arm.com>2023-07-14 11:55:13 +0000
committerAndrzej Warzynski <andrzej.warzynski@arm.com>2023-07-18 09:35:32 +0000
commit3fa5ee67babad11a88943ede42a4123299acf31a (patch)
tree43148cbca0d0499c468a3d6bd58d9e70a9aa5fd1 /llvm/lib/IR/Function.cpp
parente65cabbbb577c8e5a93227d071e325c0d248df4c (diff)
downloadllvm-3fa5ee67babad11a88943ede42a4123299acf31a.zip
llvm-3fa5ee67babad11a88943ede42a4123299acf31a.tar.gz
llvm-3fa5ee67babad11a88943ede42a4123299acf31a.tar.bz2
[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
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
0 files changed, 0 insertions, 0 deletions