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.
AbstractDenseForwardDataFlowAnalysis
operand_segment_sizes
operandSegmentSizes
scf::tileUsingSCFForallop
DestinationStyleOpInterface
LoopLikeOpInterface
replaceWithAdditionalYields