The tensor.pack ops have pad semantic, so we can fold pad + pack into pack when 1. They have the same padding values or the pack op does not have padding values. 2. The pad op does not have low paddings. The tensor.unpack ops have extract_slice semantic, so we can fold unpack + extract_slice into unpack when 1. All the offsets are 0s. 2. All the strides are 1s. Reviewed By: tyb0807 Differential Revision: https://reviews.llvm.org/D141099