[Mlir-commits] [mlir] [mlir][spirv] Fix crash in ArithToSPIRV trunc-i lowering on tensor types (PR #179009)
Jakub Kuderski
llvmlistbot at llvm.org
Wed Feb 4 16:48:30 PST 2026
================
@@ -853,15 +888,40 @@ struct TruncIPattern final : public OpConversionPattern<arith::TruncIOp> {
LogicalResult
matchAndRewrite(arith::TruncIOp op, OpAdaptor adaptor,
ConversionPatternRewriter &rewriter) const override {
- Type srcType = adaptor.getIn().getType();
Type dstType = getTypeConverter()->convertType(op.getType());
if (!dstType)
return getTypeConversionFailure(rewriter, op);
+ // Trunc-to-i1 case is handled in a separate pattern.
if (isBoolScalarOrVector(dstType))
return failure();
- if (dstType == srcType) {
+ Type srcType = op.getIn().getType();
+ Type convertedSrcType = getTypeConverter()->convertType(srcType);
+ if (!convertedSrcType)
+ return getTypeConversionFailure(rewriter, op);
----------------
kuhar wrote:
We should be using the type from the adaptor -- it's already converted
https://github.com/llvm/llvm-project/pull/179009
More information about the Mlir-commits
mailing list