Right now there is a branching for 2 functions based on whether target map has
symbols or not. In this commit these functions are merged into one.
Furthermore, emitting does not require inverse and map applying as it computes
the correct Range in a single step and thus reduces unnecessary overhead.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Dialect/Linalg/Transforms/Loops.cpp | ||
---|---|---|
61–71 | Nit: if it contains some -> if it contains any |
Can you please elaborate in the commit description and/or code comments _how_ this avoids inversion? The code seems to just pass in the direct map to the range calculation function, which takes result sizes in order. I don't see why this would work, but I may be missing something.
mlir/lib/Dialect/Linalg/Transforms/Loops.cpp | ||
---|---|---|
61–62 | Could you please elaborate _which_ expressions are supported? | |
83 | The change from d.getPosition to idx looks wrong. The former returns the index of the affine dimension in the expression and the latter is merely an index of the expression in the map. Has this not broken any tests? | |
100–110 | Any chance of finding better names than m and n? | |
113 | The RHS of floordiv is not necessarily 2 in the code, but it must be some constant AFAICS, please check for that. | |
525–526 | Please terminate sentences with a full stop in comments. |
mlir/lib/Dialect/Linalg/Transforms/Loops.cpp | ||
---|---|---|
91 | Done |
Could you please elaborate _which_ expressions are supported?