This CL integrates the new sparse annotations (hereto merely added as fully
transparent attributes) more tightly to the generic linalg op in order to add
verification of the annotations' consistency as well as to make make other
passes more aware of their presence (in the long run, rewriting rules must
preserve the integrity of the annotations).
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td | ||
---|---|---|
554 | Are these the only two expected here? E.g., could we switch to enum rather than string attribute below? |
mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td | ||
---|---|---|
554 | This is a bit forward looking in the sense that keeping this a string will simplify prototyping other storage formats that go beyond a simple enum (perhaps a property + parameters). So unless you foresee issues, I would prefer not to commit to a enum as of yet (other than what Nicolas proposed). | |
mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp | ||
441 | That makes sense, yes! |
Maybe add a comment that this is an ArrayAttr of StrArrayAttr?