*DO NOT SUBMIT*
(This patch is for early design feedback only. Notably, tests have not been
updated and the implementation is incomplete in some cases.)
This patch generalizes tensor.expand_shape and memref.expand_shape to consume
the output shape as a list of SSA values. This enables us to implement generic
reshape operations with dynamic shapes using collapse_shape/expand_shape pairs.
The output_shape input to expand_shape follows the static/dynamic representation
that's also used in tensor.extract_slice.