tree f2dede7c2f983c2f8ee9689752dcfd4501005eb0
parent 5bf048659972964912e0de88b5fcaef338b15dfc
author MaheshRavishankar <1663364+MaheshRavishankar@users.noreply.github.com> 1741663388 -0700
committer GitHub <noreply@github.com> 1741663388 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJnz6ycCRC1aQ7uu5UhlAAAJa8QAKLbG3Rb5LIZbIA+XDM6PWsh
 umJYYAowwhba0bX/lp2vwt1+0FegLNvVNZJa2Wgm9blAaezkPeMNW6Apvg9szyur
 pdjdKvcrYx0URLehmzGHL+JSYxVrA84/7UCX6pZpWYnxHwFxmlzO7IMkKiZC/jWy
 e6peW+kUj4+il6oL3CMM7I2dCJ5ykTBFKYDtdgUwgISpfcLcKwz/mTi3T/yfwRcb
 jkoBwShhNbx4v8DBLSEOUARcrQYyQ6dyw/u0M1fJbZYzXu3YTUyC78q8/53KnXNr
 WRjC3KalM6E1Imw/dEXf7ggzYaRdNo0Q9Ct16k76Z9zB8tAwSN++of0BKCyyV+px
 bbBAifhxxLvaVZsIyGg7v2CtLaLQh68tvUAVCmMX/XqMnqA7OatAXeOBRQtb6Kjl
 Gy6e8NQTqqwyoGIKJ39NPUwMZn89HDCv0DQq1x9mJzsXGjmV2Ds6P6SUpwCt/KfT
 SeMM0oWYBJX9j1L14dBG9FOvdCYTvlTiFB/kcTV2k64qWx3cDaXhu20q3QXkMtBN
 6kMM97zBIw4jTpukbawWiUiUJ6mcs4zgCccWRJmKC1vk4mfb7wRXxKqNwY/pthsn
 Wm0Yd0iLK+bEqq8JE1aNOzcQg+WyqBZV3mJXlkNG1DWn+HqfQVZedp3SyI/dpLUB
 Ev+/zdszVJ/hxKxrEiYm
 =o7He
 -----END PGP SIGNATURE-----
 

[mlir] Add a utility method to move operation dependencies. (#129975)

The added utility method moves all SSA values that an operation depends
upon before an insertion point. This is useful during transformations
where such movements might make transformations (like fusion) more
powerful.

To test the operation add a transform dialect op that calls the move
operation. To be able to capture the `notifyMatchFailure` messages from
the transformation and to report/check these in the test modify the
`ErrorCheckingTrackingListener` to capture the last match failure
notification.

---------

Signed-off-by: MaheshRavishankar <mahesh.ravishankar@gmail.com>