LLVM: refactor array descriptor access
@czgdp18071 and I discussed how it could be done. It seems one idea that would work is this one:
- take all access to the descriptor and move it to a separate header file
- we could have a class and subclasses like RowMajor, ColumnMajor, ZOrder (https://en.wikipedia.org/wiki/Z-order_curve) that would implement such indexing and access to the descriptor.
We can start with just simple functions. Features that we have to expose:
- indexing
- size
- pointer to data
Whatever else is needed.