Values that are the result of buffer allocation ops are guaranteed to *not* be the same allocation as block arguments of containing blocks. This fact can be used to allow for more aggressive simplification of `bufferization.dealloc` ops.
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.