[PATCH] D73656: [mlir][Linalg] Add a Linalg DRR test to go from matmul to vectors

Nicolas Vasilache via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 28 10:12:20 PDT 2020


nicolasvasilache marked 2 inline comments as done.
nicolasvasilache added inline comments.


================
Comment at: mlir/test/lib/Transforms/TestLinalgMatmulToVector.cpp:35
+    // TODO(ntv, rriddle) Need ViewOp canonicalizer to enable vectorization
+    // without phase ordering. Unfortunately there is some pattern interaction
+    // because ViewOp and MemRefCastOp canonicalization order need to happen
----------------
rriddle wrote:
> This sounds like a visitation ordering problem, i.e. you want to visit the source operand(AffineApplyOp) before the user(ViewOp). Greedy walks reverse order so you run into the problem here. Am I understanding this correctly?
I still do not know, I'll pick up again next week.


================
Comment at: mlir/test/lib/Transforms/TestLinalgMatmulToVector.cpp:38
+    // after AffineApplyOp canonicalization to get fully static shapes.
+    // Unfortunately bumping up the priority of AffineApplyOp canonicalization
+    // does not help and making ViewOp canonicalization know about AffineApplyOp
----------------
aartbik wrote:
> would it help to have two passes of greedily applying patterns, each with their own set, or do we have interaction between the two sets?
the goal is to have a single pass.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73656/new/

https://reviews.llvm.org/D73656





More information about the llvm-commits mailing list