[Mlir-commits] [mlir] [MLIR][Affine] Fix affine loop fusion with vector ops #115849, #120227 (PR #122799)
Uday Bondhugula
llvmlistbot at llvm.org
Mon Feb 3 00:50:20 PST 2025
================
@@ -237,6 +299,58 @@ static void sinkSequentialLoops(MemRefDependenceGraph::Node *node) {
node->op = newRootForOp;
}
+/// Creates a private memref to be used by vector operations.
+/// TODO: The difference between this and 'createPrivateMemRef' is that
+/// the system for calculating the bounds and constraints doesn't
+/// support vector operations. Thus, we use the shape of the vector
+/// as our newly created private memref instead of using a constraint
+/// system.
+static Value createPrivateVectorOpMemRef(
+ AffineForOp forOp, Operation *srcStoreOpInst, unsigned dstLoopDepth,
+ std::optional<unsigned> fastMemorySpace, uint64_t localBufSizeThreshold) {
----------------
bondhugula wrote:
We shouldn't create a new method duplicating some of the logic. Instead, unify the two, i.e., extend `createPrivateMemRef` for this.
https://github.com/llvm/llvm-project/pull/122799
More information about the Mlir-commits
mailing list