Setting Up to Add New Transformations Before defining a new transform operation, we need to choose where its implementation should be located. While MLIR encourages upstream contributions, it is not always possible or even desirable to modify the main Transform dialect, for example, if the transformation is specific to some out-of-tree dialect that is not itself available upstream. The Transform dialect uses the dialect extension mechanism to allow additional operations to be injected without...