This patch tracks D32639, so this must be kept in sync with it.
- 1. Change ScopArrayInfo and its building phase to track that it is a
Fortran array. Before, this was entirely in MemoryAccess. Now, the SAI
needs to know whether it contains a fortran array or not.
- 2. Add a "dummy" pwAff into ScopArrayInfo for the virtual
outermost dimension.
- 3. Synthesize a custom Value for the pwAff isl Id such that it
computes the outermost dimension size. This matches code generated by
dragonegg
- 4. Anyone who tries to refer to the outermost dimension size from now
on will use the synthesized Value
The changes are quite large, and are somewhat "sweeping". Also note that
the diff will look much smaller once D32639 has been mainlined.
Also, I am unfamiliar with the schedule API, and I believe
that what I have done in ScopInfo.cpp is a hack. However, I'm not sure
what the right of doing this is.
@bollu I realise this is a very old patch, but coverity has a dead code warning about the first 'size' not being used: https://bugs.llvm.org/show_bug.cgi?id=52173