http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61000
--- Comment #4 from Mircea Namolaru <mircea.namolaru at inria dot fr> --- Right, C arrays expressed as pointers suffers from the same problem. But for C at least there is a way to avoid this. Many thanks for your suggestion of how to de-linearize arrays in middle-end, it seems that may be simpler then I've thought. Hope to find time and wrote a patch based on your idea for GCC 4.10. Mircea ----- Original Message ----- > From: "rguenth at gcc dot gnu.org" <gcc-bugzi...@gcc.gnu.org> > To: "mircea namolaru" <mircea.namol...@inria.fr> > Sent: Wednesday, April 30, 2014 1:02:10 PM > Subject: [Bug tree-optimization/61000] No loop interchange for inner loop > along the slow index > > 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. > > -- > You are receiving this mail because: > You are on the CC list for the bug. >