diff options
| -rw-r--r-- | mlir/lib/Analysis/SliceAnalysis.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mlir/lib/Analysis/SliceAnalysis.cpp b/mlir/lib/Analysis/SliceAnalysis.cpp index 5f11286dd6a2..c831a534462f 100644 --- a/mlir/lib/Analysis/SliceAnalysis.cpp +++ b/mlir/lib/Analysis/SliceAnalysis.cpp @@ -136,9 +136,10 @@ static LogicalResult getBackwardSliceImpl(Operation *op, // blocks of parentOp, which are not technically backward unless they flow // into us. For now, just bail. if (parentOp && backwardSlice->count(parentOp) == 0) { - if (!parentOp->hasTrait<OpTrait::IsIsolatedFromAbove>() && - parentOp->getNumRegions() == 1 && - parentOp->getRegion(0).hasOneBlock()) { + if (parentOp->hasTrait<OpTrait::IsIsolatedFromAbove>()) { + return success(); + } else if (parentOp->getNumRegions() == 1 && + parentOp->getRegion(0).hasOneBlock()) { return getBackwardSliceImpl(parentOp, visited, backwardSlice, options); } else { |
