mask / offset / strides can change during canonicalization, and contiguous can be True at the end
_reshape_mask