PR 5614db039b28026b5fe38aa96a21c4e6835d352b introduces the attributes "indexing_maps" and "iterator_types" in the vector.contraction op.
The goal is to unify this with linalg.generic and linalg.indexed_generic.
Linalg is still using an older, more rigid, encoding that just specifies the number of loops with the implicit constraint that parallel loops come first followed by reduction loops (and window loops which are a special type of reduction).
Linalg should be updated to take the same form of iterator_types and code should be factored out in some reusable utils.
These utils will also be used in the future for a Linalg-style dialect on tensor values.
This PR will also involve modifying the Linalg traits to support this change.
Once this change is effective, we can add new Linalg transformations.
PR 5614db039b28026b5fe38aa96a21c4e6835d352b introduces the attributes "indexing_maps" and "iterator_types" in the vector.contraction op.
The goal is to unify this with linalg.generic and linalg.indexed_generic.
Linalg is still using an older, more rigid, encoding that just specifies the number of loops with the implicit constraint that parallel loops come first followed by reduction loops (and window loops which are a special type of reduction).
Linalg should be updated to take the same form of iterator_types and code should be factored out in some reusable utils.
These utils will also be used in the future for a Linalg-style dialect on tensor values.
This PR will also involve modifying the Linalg traits to support this change.
Once this change is effective, we can add new Linalg transformations.