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
- 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
Co-authors: Srishti Srivastava, Prateek Gupta
Signed-off-by: Srishti Srivastava <firstname.lastname@example.org>