This reverts commit54e70ac765which itself fixed an [asan leak](https://lab.llvm.org/buildbot/#/builders/55/builds/9761) from the original upstreaming commit. The leak was due to op allocations not being `free`ed. ~~The necessary change was to explicitly `->destroy()` the ops at the end of the tests. I believe this is because the rewriter used in the tests doesn't actually insert them into a module and so without an explicit `->destroy()` no bookkeeping process is able to take care of them.~~ The necessary change was to use `OwningOpRef` which calls `op->erase()` in its [own destructor](89cfae41ec/mlir/include/mlir/IR/OwningOpRef.h (L39)).