[Mlir-commits] [mlir] [MLIR][Linalg] pack, unpack to take memref inputs (PR #129036)

Han-Chung Wang llvmlistbot at llvm.org
Thu Mar 27 13:21:36 PDT 2025


================
@@ -76,6 +76,13 @@ class Linalg_RelayoutOp<string mnemonic, list<Trait> traits = []> :
     /// have been tiled. Also, the order of the output dimensions is consistent
     /// with `inner_dims_pos` rather than the packed tensor.
     SmallVector<int64_t> getTiledOuterDims();
+
+         void $cppClass::getEffects(
+         SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>>
+             &effects) {
+       getGenericEffectsImpl(effects, cast<LinalgOp>(getOperation()));
+     }
----------------
hanhanW wrote:

Can we do it with template? E.g., they have the identical implementation for `reifyResultShapes`, and we have the implementation in `reifyResultShapesImpl`. I think we can use the same trick here.

https://github.com/llvm/llvm-project/blob/8244f8210f2e62f68429a0daf104fd483ada45ab/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp#L4330-L4341

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


More information about the Mlir-commits mailing list