This diff adds lowering of the linalg.reshape op to LLVM.
A new descriptor is created with fields initialized as follows:
- allocatedPTr, alignedPtr and offset are copied from the source descriptor
- sizes are copied from the static destination shape
- strides are copied from the static strides collected with getStridesAndOffset
Only the static case in which the target view conforms to strided memref
semantics is supported. Other cases are left for future work and will be added on
a per-need basis.
I wonder whether hasStaticShape is the right name here. It only checks the sizes, but not the strides, which is a bit counter-intuitive. Not for this commit certainly...