[Bug tree-optimization/61000] No loop interchange for inner loop along the slow index

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 30 11:02:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61000

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Mircea Namolaru from comment #2)
> Again, the problem is due to representation of arrays in Fortran as array
> with a single dimnesion (for similar code in C profitability check work as
> expected). It is a recurring problem that may lead to compilation time
> increase (sometimes dramatically) or missed opportunities optimizations due
> to too conservative dependence analysis or as on this case the profitability
> check failure. The solution is to de-liniarize array accesses in Fortran as
> in C.

Note that C doesn't always have de-linearized arrays (once you access the
array via a pointer).

For Fortran de-linearizing is "easy" via simple casting to a multi-dimensional
(variable-bounds) array type.  For the middle-end side, that is.



More information about the Gcc-bugs mailing list