This is an archive of the discontinued LLVM Phabricator instance.

[mlir] Add IteratorType enum to StructuredOpsUtils.
ClosedPublic

Authored by olegshyshkov on Sep 26 2022, 3:07 AM.

Details

Summary

Use the new enum in TilingIterface and verify that iterator_type attribute in
LinalgOp interface is compatible with the enum values. Later IteratorType enum
will be used in LinalgInterface to replace the current iterator_type attribute
array of string.

Existing enums in Linalg are moved into a separate td file and tablegen build
target. This is necessary, have one I32EnumAttr in a shared space that generated
enum class definition and EnumAttrs is dialect-specific location. Otherwise
there might be a conflict that I32EnumAttr generates enum definitions in
multiple places.

Diff Detail

Event Timeline

olegshyshkov created this revision.Sep 26 2022, 3:07 AM
olegshyshkov requested review of this revision.Sep 26 2022, 3:07 AM

Added file header comments.

Remove LinalgBase.h. It wasn't used in this patch.

pifon2a accepted this revision.Sep 26 2022, 3:56 AM
This revision is now accepted and ready to land.Sep 26 2022, 3:56 AM
This revision was automatically updated to reflect the committed changes.