forked from OSchip/llvm-project
[mlir][Vector] Relax condition for `splitFullAndPartialTransferPrecondition`
The `splitFullAndPartialTransferPrecondition` has a restrictive condition to prevent the pattern to be applied recursively if it is nested under an scf.IfOp. Relaxing the condition to the immediate parent op must not be an scf.IfOp lets the pattern be applied more generally while still preventing recursion. Differential Revision: https://reviews.llvm.org/D85209
This commit is contained in:
parent
860cbbdd6b
commit
2d0b05969b
|
@ -2049,10 +2049,10 @@ LogicalResult mlir::vector::splitFullAndPartialTransferPrecondition(
|
||||||
// Must have some masked dimension to be a candidate for splitting.
|
// Must have some masked dimension to be a candidate for splitting.
|
||||||
if (!xferOp.hasMaskedDim())
|
if (!xferOp.hasMaskedDim())
|
||||||
return failure();
|
return failure();
|
||||||
// Don't split transfer operations under IfOp, this avoids applying the
|
// Don't split transfer operations directly under IfOp, this avoids applying
|
||||||
// pattern recursively.
|
// the pattern recursively.
|
||||||
// TODO: improve the condition to make it more applicable.
|
// TODO: improve the filtering condition to make it more applicable.
|
||||||
if (xferOp.getParentOfType<scf::IfOp>())
|
if (isa<scf::IfOp>(xferOp.getOperation()->getParentOp()))
|
||||||
return failure();
|
return failure();
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue