In both `bubbleUpPackOpThroughGenericOp()` or `pushDownUnPackOpThroughGenericOp()`, we can simplify the lowered IR by removing the pack of an empty when the init tensor isn't used in generic op. Instead of packing an empty tensor, the empty tensor can be forwarded to the generic output. This allows cleaner result after data layout propagation.
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.