Details
Diff Detail
- Repository
 - rG LLVM Github Monorepo
 
Event Timeline
| mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h | ||
|---|---|---|
| 424 | Can you make this For sequential for loops: (the For for reads a bit like a typo)  | |
| 437 | do we only support addition reduction?  | |
| mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp | ||
| 476 | Variables  | |
| mlir/test/Dialect/SparseTensor/sparse_parallel.mlir | ||
| 155 | this is good for *this* test, since it looks for structure but can you also add a more strict CHECK test for all details of scf.reduce?  | |
| mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir | ||
| 8 | parallelizaiton  | |
| mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h | ||
|---|---|---|
| 437 | No, but we only support "one-line reduction".  | |
some super nits to wrap this up ;-)
| mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp | ||
|---|---|---|
| 199 | although correct english, do you really need temporally or temporarily?  | |
| 463 | Here and below, follow the "full sentence" style we usually follow  | |
| mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h | ||
| 428 | end with :  | |
| 428–429 | period  | |
| mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp | ||
| 1018–1019 | "reduction*s*" or "a parallel reduction"  | |
| mlir/test/Dialect/SparseTensor/sparse_parallel_reduce.mlir | ||
| 42 ↗ | (On Diff #471245) | yeah, nice!  | 
| mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir | ||
| 6 ↗ | (On Diff #471245) | period at end  | 
| mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir | ||
| 8 | same  | |
rebase + address comments from Aart.
| mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp | ||
|---|---|---|
| 199 | You are right ;-(.  | |
| mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp | ||
|---|---|---|
| 218 | not for this revision, but the loop emitter methods are becoming a bit big (for example this one, but also the exit loop below!) perhaps we can later refactor the public methods into small methods that call a number of private methods with a very specific function, e.g. prepare induction, do reduction etc. WDYT?  | |
| mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp | ||
| 477 | The name genReducUpdateStmt is a bit misnomer, right? But moving the two similar parts into one method is good refactoring!  | |
| 1019 | testing for expCount is very hard to read in these expression can we make this something like isExpanion = codegenExpCount and then use it in the expressions?  | |
| mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp | ||
|---|---|---|
| 218 | yeah, that's a good idea!  | |
address comments from Aart.
| mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp | ||
|---|---|---|
| 1019 | I instead followed the way how you did with codegen.SparseOut, which seems even more clear!  | |
This change appears to have broken the Windows buildbot. https://lab.llvm.org/buildbot/#/builders/13/builds/28002/steps/6/logs/stdio
C:\buildbot\mlir-x64-windows-ninja\llvm-project\mlir\lib\Dialect\SparseTensor\Transforms\CodegenUtils.cpp(227): error C2220: the following warning is treated as an error C:\buildbot\mlir-x64-windows-ninja\llvm-project\mlir\lib\Dialect\SparseTensor\Transforms\CodegenUtils.cpp(227): warning C4804: '<=': unsafe use of type 'bool' in operation
Like I commented on D136185, do you actually need SmallVectorImpl here or can you use MutableArrayRef instead?