[Mlir-commits] [mlir] [mlir][spirv] Add support for SPV_ARM_tensors (PR #144667)
Igor Wodiany
llvmlistbot at llvm.org
Wed Jun 18 06:46:32 PDT 2025
================
@@ -1238,6 +1241,55 @@ spirv::Deserializer::processMatrixType(ArrayRef<uint32_t> operands) {
return success();
}
+LogicalResult
+spirv::Deserializer::processTensorARMType(ArrayRef<uint32_t> operands) {
+ unsigned size = operands.size();
+ if (size < 2 || size > 4) {
+ return emitError(unknownLoc, "OpTypeTensorARM must have 2-4 operands "
+ "(result_id, element_type, (rank), (shape))")
+ << size;
+ }
+ Type elementTy = getType(operands[1]);
+ if (!elementTy) {
+ return emitError(unknownLoc,
+ "OpTypeTensorARM references undefined element type.")
+ << operands[1];
+ }
+ if (size == 2) {
+ typeMap[operands[0]] = TensorArmType::get({}, elementTy);
+ return success();
+ }
+
+ auto rankAttr = getConstantInt(operands[2]);
+ if (!rankAttr)
+ return emitError(unknownLoc, "OpTypeTensorARM rank must come from a "
+ "scalar integer constant instruction");
+ unsigned rank = rankAttr.getValue().getZExtValue();
+ if (size == 3) {
+ SmallVector<int64_t, 4> shape(rank, ShapedType::kDynamic);
+ typeMap[operands[0]] = TensorArmType::get(shape, elementTy);
+ return success();
+ }
+
+ auto shapeInfo = getConstant(operands[3]);
----------------
IgWod-IMG wrote:
Same as above: `auto`.
https://github.com/llvm/llvm-project/pull/144667
More information about the Mlir-commits
mailing list