https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61000
--- Comment #7 from Thomas Koenig ---
When tackling this in the front end, one problem is when
_not_ to do loop interchange.
Consider
do i=1,10
do j=1,10
call foo(a(i,j))
end do
end do
where we have no idea what foo does, and if it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61000
Thomas Koenig changed:
What|Removed |Added
Last reconfirmed|2014-06-12 00:00:00 |2017-10-8
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61000
Dominique d'Humieres dominiq at lps dot ens.fr changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61000
--- Comment #2 from Mircea Namolaru mircea.namolaru at inria dot fr ---
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
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
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
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61000
--- Comment #1 from Mircea Namolaru mircea.namolaru at inria dot fr ---
The built-in heuristics assess that loop interchange is not profitable. Indeed
there is a problem, I would expected that the second loop to be found
profitable.
Need to look