[Mlir-commits] [mlir] [mlir][TilingInterface] Avoid looking at operands for getting slices to continue tile + fuse. (PR #107882)

Quinn Dawkins llvmlistbot at llvm.org
Tue Sep 10 11:16:44 PDT 2024


================
@@ -120,16 +120,21 @@ struct LinalgOpTilingInterface
     Location loc = op->getLoc();
     LinalgOp linalgOp = cast<LinalgOp>(op);
     SmallVector<Value> valuesToTile = linalgOp->getOperands();
-    SmallVector<Value, 4> tiledOperands = makeTiledShapes(
+    SmallVector<Value> tiledOperands = makeTiledShapes(
         b, loc, linalgOp, valuesToTile, offsets, sizes, {}, true);
+    SmallVector<Operation *> generatedSlices = llvm::map_to_vector(
+        llvm::make_filter_range(
+            tiledOperands, [](Value v) -> bool { return v.getDefiningOp(); }),
+        [](Value v) -> Operation * { return v.getDefiningOp(); });
----------------
qedawkins wrote:

Should these be `v.getDefiningOp<tensor::ExtractSliceOp>()` in case the operand is unaffected by tiling?

https://github.com/llvm/llvm-project/pull/107882


More information about the Mlir-commits mailing list