This revision extends the PDL Interpreter 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_interp.check_types : Compare a range of types with a known range.
- pdl_interp.create_types : Create a constant range of types.
- pdl_interp.get_operands : Get a range of operands from an operation.
- pdl_interp.get_results : Get a range of results from an operation.
- pdl_interp.switch_types : Switch on a range of types.
This revision handles adding support in the interpreter dialect and the conversion from PDL to PDLInterp. Support for variadic operands and results in the bytecode will be added in a followup revision.
Depends On D95721
Clang-tidy suggestion