tree 9a7f80f4a3444c1e6c2ed0b3a1234a424218ac48
parent 33cd00f8c82d5df45b1dfd59310929a4d315fd8e
author Matthias Springer <me@m-sp.org> 1743167934 +0100
committer GitHub <noreply@github.com> 1743167934 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJn5qG+CRC1aQ7uu5UhlAAAR5sQAAWsxcZ/fx68ObEHe+md7mB1
 A/nZJp47rqQ5SDUV7w3grcxTmgk1zYnaXT0OwQcmoXlhNLfQ4Yk/dCShCbxLTSr8
 LkUV+F9oZtszYn5m3zu9vBR9EtvL0o0SxPhYqj61I0xjRZu07sDZPheVZVpqbW8G
 dMsEu9XZOoN/3IhoFX0kZUD1r5IBaeuHsMeRz83Y8zwltt7reZ3nGM714E582eKK
 H1govZzXJiwvqOFUHSHr9rnvPn3dB+Uxvd/hAFJvHLfge/+a6fah54ewWWughC5R
 94qq/VwvPMULuUk3aPM9V4yil+G7MN3n9CDKRgJoJJ89dnnJVHgNSBnotEQOknvp
 HoDUrxL7vHluXy5FaPlBBPSpcfH/9Yd0Bp5voHmLf0PiwcrXVoqNWBeb9T6elpkA
 QWCEQn94Pvh60xgKdfWRGbgU8+xcyTRhkcBUw+kRO+CNIRhxQ+q3rZEHGy1kgmzV
 P8oS6tkNNcMj8TkdTJhFWFSC/Ia/zBZdVH/zPEPWlQpwEu/RpT7L0Fw/YwcENEs8
 i7Y5v39S6iGrz3KLSWM7g2KqpykwNXs67QG6xak5JlMwBa9AbmDCj9DZDlP/9fVs
 ASUPm7PtlGwQpruhkL6VRb0gGfSKtnQ6NaQDUSfO1CokDr65SvUP4FelYx8UEinr
 Ih8ZmoFPWgkvpueDivML
 =fErd
 -----END PGP SIGNATURE-----
 

[mlir][Transforms] Improve `replaceOpWithMultiple` API (#132608)

This commit adds an additional overload to `replaceOpWithMultiple` that
accepts additional container types. This has been brought up by users of
the new `replaceOpWithMultiple` API.

In particular, one missing container type was
`SmallVector<SmallVector<Value>>`. The "default" `ArrayRef<ValueRange>`
container type can lead to use-after-scope errors in cases such as:
```c++
// Compute the replacement value ranges. Some replacements are single
// values, some are value ranges.
SmallVector<ValueRange> repl;
repl.push_back(someValueRange);  // OK
for (...) {
  // push_back(Value) triggers an implicit conversion to ValueRange,
  // which does not own the range.
  repl.push_back(someValue);  // triggers use-after-scope later
}
rewriter.replaceOpWithMultiple(op, repl);
```

In this example, users should use `SmallVector<SmallVector<Value>>
repl;`.