The buffer deallocation pass must now be run explicitly when allow-return-alloc is set.
This results in a few extra buffer copies in unoptimized test cases. The proper way to avoid such copies is to relax the OpOperand/OpResult aliasing contract on ops such as scf.for. Some of these copies can also be avoided by improving the buffer deallocation pass.
The purpose of this change is to remove finalizeBuffers, which made it difficult to extend the bufferization to custom buffer types.
Depends On D126569