diff --git a/mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp b/mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp --- a/mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp +++ b/mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp @@ -185,6 +185,8 @@ Value output = tosaBinaryOp.getResult(); auto outputType = output.getType().dyn_cast(); + if (!outputType) + return failure(); Value outInput1, outInput2; if (reshapeLowerToHigher(rewriter, tosaBinaryOp.getLoc(), outputType, @@ -213,6 +215,8 @@ int32_t shift = tosaBinaryOp.shift(); Value output = tosaBinaryOp.getResult(); auto outputType = output.getType().dyn_cast(); + if (!outputType) + return failure(); Value outInput1, outInput2; if (reshapeLowerToHigher(rewriter, tosaBinaryOp.getLoc(), outputType, @@ -243,6 +247,8 @@ int32_t round = tosaBinaryOp.round(); Value output = tosaBinaryOp.getResult(); auto outputType = output.getType().dyn_cast(); + if (!outputType) + return failure(); Value outInput1, outInput2; if (reshapeLowerToHigher(rewriter, tosaBinaryOp.getLoc(), outputType,