RFC: EnumAttr for iterator types in Linalg
This affect touches and probably breaks most of the code that creates linalg.generic. A fix would be to replace calls to getParallelIteratorTypeName/getReductionIteratorTypeName with mlir::utils::IteratorType::parallel/reduction and types from StringRef to mlir::utils::IteratorType.
Due to limitations of tablegen, shared C++ definition of IteratorType enum lives in StructuredOpsUtils.td, but each dialect should have it's own EnumAttr wrapper. To avoid conflict, all enums in a dialect are put into a separate file with a separate tablegen rule.
Test dialect td files are refactored a bit.
Printed format of linalg.generic temporarily remains unchanged to avoid breaking code and tests in the same change.
What's up with the progress on this?