[Mlir-commits] [mlir] [MLIR] Add fusability query to TilingInterface (PR #166502)
Quinn Dawkins
llvmlistbot at llvm.org
Thu Dec 4 19:17:29 PST 2025
================
@@ -359,6 +359,52 @@ struct LinalgOpTilingInterface
/// Inline the op payload and store the result.
return inlinePayload(builder, linalgOp, ivs, indexedValues);
}
+
+ bool isOpFusableWithConsumerSlice(Operation *op, unsigned resultNumber,
+ ArrayRef<OpFoldResult> offsets,
+ ArrayRef<OpFoldResult> sizes) const {
+ return !cast<LinalgOp>(op).getShapesToLoopsMap();
+ }
+
+ bool isOpFusableWithProducerSlices(
+ Operation *op, ArrayRef<unsigned> operandNumbers,
+ ArrayRef<SmallVector<OpFoldResult>> allOffsets,
+ ArrayRef<SmallVector<OpFoldResult>> allSizes) const {
+
+ auto linalgOp = cast<LinalgOp>(op);
----------------
qedawkins wrote:
Having already tried integrating this + other changes, I haven't seen any issues yet. Will have to see once the change fans out to downstream use cases.
https://github.com/llvm/llvm-project/pull/166502
More information about the Mlir-commits
mailing list