This is an archive of the discontinued LLVM Phabricator instance.

[mlir] make structured transform ops use types
ClosedPublic

Authored by ftynse on Feb 21 2023, 1:05 PM.

Details

Summary

Types have been introduced a while ago and provide for better
readability and transform-time verification. Use them in the ops from
the structured transform dialect extension.

In most cases, the types are appended as trailing functional types or a
derived format of the functional type that allows for an empty right
hand size without the annoying -> () syntax (similarly to func.func
declaration that may omit the arrow). When handles are used inside mixed
static/dynamic lists, such as tile sizes, types of those handles follow
them immediately as in sizes [%0 : !transform.any_value, 42]. This
allows for better readability than matching the trailing type.

Update code to remove hardcoded PDL dependencies and expunge PDL from
structured transform op code.

Diff Detail

Event Timeline

ftynse created this revision.Feb 21 2023, 1:05 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 21 2023, 1:05 PM
ftynse requested review of this revision.Feb 21 2023, 1:05 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 21 2023, 1:05 PM
ftynse updated this revision to Diff 522231.May 15 2023, 9:24 AM

Update all ops

ftynse retitled this revision from [mlir] make some structured transform ops use types to [mlir] make structured transform ops use types.May 15 2023, 9:25 AM
ftynse edited the summary of this revision. (Show Details)
ftynse added a reviewer: springerm.
nicolasvasilache accepted this revision.May 15 2023, 9:35 AM

thanks for the cleanup!

This revision is now accepted and ready to land.May 15 2023, 9:35 AM
ftynse updated this revision to Diff 522480.May 16 2023, 1:04 AM

Remove more PDL.

This revision was landed with ongoing or failed builds.May 16 2023, 1:17 AM
This revision was automatically updated to reflect the committed changes.