Client code frequently wants to iterate over the values of these three types. This commit introduces the iterators themselves, whereas the next commit will perform the actual conversion from typedefs to newtypes.
Depends On D146690
| Paths 
 |  Differential  D146691  
[mlir][sparse] Introducing iterators for TensorId, LoopId, TensorLoopId Needs ReviewPublic Authored by wrengr on Mar 22 2023, 10:40 PM. 
Details 
 Summary Client code frequently wants to iterate over the values of these three types. This commit introduces the iterators themselves, whereas the next commit will perform the actual conversion from typedefs to newtypes. Depends On D146690 
Diff Detail 
 Event Timeline
 wrengr mentioned this in D146690: [mlir][sparse] Introducing newtypes for ExprId, LatPointId, LatSetId.Comment Actions rebasing for the postponement splitting of D146684 
Revision Contents 
 
 
Diff 509498 mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
 mlir/include/mlir/Dialect/SparseTensor/Utils/MergerNewtypes.h
 mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.h
 mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
 mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
 mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Isn't it too heavy for a such a simple concept? I would prefer a foreach function for the same purpose.