diff --git a/mlir/lib/Analysis/SliceAnalysis.cpp b/mlir/lib/Analysis/SliceAnalysis.cpp --- a/mlir/lib/Analysis/SliceAnalysis.cpp +++ b/mlir/lib/Analysis/SliceAnalysis.cpp @@ -102,9 +102,10 @@ // blocks of parentOp, which are not technically backward unless they flow // into us. For now, just bail. if (parentOp && backwardSlice->count(parentOp) == 0) { - assert(parentOp->getNumRegions() == 1 && - parentOp->getRegion(0).getBlocks().size() == 1); - getBackwardSliceImpl(parentOp, backwardSlice, filter); + if (parentOp->getNumRegions() == 1 && + parentOp->getRegion(0).getBlocks().size() == 1) { + getBackwardSliceImpl(parentOp, backwardSlice, filter); + } } } else { llvm_unreachable("No definingOp and not a block argument.");