[Mlir-commits] [mlir] [mlir][vector][nfc] Replace `failure()` with `notifyMatchFailure()` (PR #129278)
Andrzej WarzyĆski
llvmlistbot at llvm.org
Thu Mar 6 06:48:04 PST 2025
================
@@ -549,22 +549,26 @@ struct Strategy<TransferWriteOp> {
};
template <typename OpTy>
-LogicalResult checkPrepareXferOp(OpTy xferOp,
- VectorTransferToSCFOptions options) {
+static LogicalResult checkPrepareXferOp(OpTy xferOp, PatternRewriter &rewriter,
+ VectorTransferToSCFOptions options) {
if (xferOp->hasAttr(kPassLabel))
- return failure();
+ return rewriter.notifyMatchFailure(
+ xferOp, "kPassLabel is present (progressing lowering in progress)");
if (xferOp.getVectorType().getRank() <= options.targetRank)
- return failure();
- // Currently the unpacking of the leading dimension into the memref is not
- // supported for scalable dimensions.
+ return rewriter.notifyMatchFailure(
+ xferOp, "xferOp vector rank <= transformation target rank");
if (xferOp.getVectorType().getScalableDims().front())
- return failure();
+ return rewriter.notifyMatchFailure(
+ xferOp, "Unpacking of the leading dimension into the memref is not yet "
+ "supported for scalable dims");
if (isTensorOp(xferOp) && !options.lowerTensors)
- return failure();
- // Transfer ops that modify the element type are not supported atm.
----------------
banach-space wrote:
Oh, I just moved the comment inside `rewriter.notifyMatchFailure` (with some tweaks):
```cpp
// BEFORE
// Transfer ops that modify the element type are not supported atm.
if (xferOp.getVectorType().getElementType() !=
xferOp.getShapedType().getElementType())
return failure();
```
```cpp
// AFTER
if (xferOp.getVectorType().getElementType() !=
xferOp.getShapedType().getElementType())
return rewriter.notifyMatchFailure(
xferOp, "Mismatching source and destination element types.");
```
https://github.com/llvm/llvm-project/pull/129278
More information about the Mlir-commits
mailing list