[Mlir-commits] [mlir] [mlir][TilingInterface] Allow multiple results in PartialReductionOpInterface (PR #92624)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed May 22 09:48:49 PDT 2024
================
@@ -155,12 +155,12 @@ static Value createDestinationPassingStyleInitOperand(
tensor::getMixedSizes(builder, builder.getLoc(), spmdizedOperand);
PartialReductionOpInterface partialReductionIface =
llvm::cast<PartialReductionOpInterface>(op.getOperation());
- FailureOr<Operation *> reductionNeutralTensorOp =
+ assert(op->getNumResults() == 1 && "Multiple results not supported.");
+ FailureOr<SmallVector<Value>> reductionNeutralTensor =
partialReductionIface.generateInitialTensorForPartialReduction(
builder, builder.getLoc(), shape, {});
- assert(succeeded(reductionNeutralTensorOp));
- builder.create<scf::YieldOp>(
- reductionNeutralTensorOp.value()->getResult(0));
+ assert(succeeded(reductionNeutralTensor));
----------------
MaheshRavishankar wrote:
assert that it succeeds is strange. Either make the return type `FailureOr<Value>` or return nullptr and handle appropriately at call site?
https://github.com/llvm/llvm-project/pull/92624
More information about the Mlir-commits
mailing list