Defined 4 new ops in the PDLInterp dialect to help support
commutativity. The ops are as follows:
- pdl_interp.choose_range: This op performs a nondeterministic choice
of a range of PDL Values from a list of ranges.
- pdl_interp.get_item: This op gets an operand at index from a range of
values.
- pdl_interp.get_permutations: This op gets the permutations of given
list of PDL Values.
- pdl_interp.is_commutative: This op checks if a positional value is a
commutative operation.
Co-authors: Srishti Srivastava, Prateek Gupta
Signed-off-by: Srishti Srivastava <srishti.srivastava@polymagelabs.com>
This is a duplicate of pdl_interp.foreach. Please remove this op and generalize pdl_interp.foreach if needed.