Skip to content

Commit 106e367

Browse files
authored
[mlir][tosa] Fix a crash when padding of tosa.pad is not dense elements
This PR fixes a crash when padding of `tosa.pad` is not dense elements.
1 parent ea85900 commit 106e367

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -878,8 +878,9 @@ OpFoldResult ReshapeOp::fold(FoldAdaptor adaptor) {
878878
OpFoldResult PadOp::fold(FoldAdaptor adaptor) {
879879
// If the pad is all zeros we can fold this operation away.
880880
if (adaptor.getPadding() && getInput1().getType() == getType()) {
881-
auto densePad = llvm::cast<DenseElementsAttr>(adaptor.getPadding());
882-
if (densePad.isSplat() && densePad.getSplatValue<APInt>().isZero()) {
881+
auto densePad = llvm::dyn_cast<DenseElementsAttr>(adaptor.getPadding());
882+
if (densePad && densePad.isSplat() &&
883+
densePad.getSplatValue<APInt>().isZero()) {
883884
return getInput1();
884885
}
885886
}

0 commit comments

Comments
 (0)