This is an archive of the discontinued LLVM Phabricator instance.

[mlir][PDL] Add support for variadic operands and results in PDL
ClosedPublic

Authored by rriddle on Jan 29 2021, 7:56 PM.

Details

Summary

This revision extends the PDL dialect to add support for variadic operands and results, with ranges of these values represented via the recently added !pdl.range type. To support this extension, three new operations have been added that closely match the single variant:

  • pdl.operands : Define a range of input operands.
  • pdl.results : Extract a range of results from an operation.
  • pdl.types :Define a handle to a range of types.

Support for these in the pdl interpreter dialect and byte code will be added in followup revisions.

Depends On D95720

Diff Detail

Event Timeline

rriddle created this revision.Jan 29 2021, 7:56 PM
rriddle requested review of this revision.Jan 29 2021, 7:56 PM
ftynse accepted this revision.Mar 10 2021, 6:31 AM
ftynse added a subscriber: ftynse.
ftynse added inline comments.
mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
537

a groups -> groups

This revision is now accepted and ready to land.Mar 10 2021, 6:31 AM
jpienaar accepted this revision.Mar 10 2021, 9:59 AM

Nice, thanks

mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
236

Is result the only other mechanism? The description here is a bit opaque, makes me wonder what other cases there are

249

Use different name here to avoid conflict?

rriddle updated this revision to Diff 330789.Mar 15 2021, 1:25 PM
rriddle marked 3 inline comments as done.

rebase