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



Thomas Koenig <tkoenig at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |tkoenig at gcc dot gnu.org



--- Comment #7 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2013-04-30 
11:58:43 UTC ---

(In reply to comment #6)

> Apparently there is no dependency analysis for array-vector assignments.



Correct, however...



> The

> following test create a temporary that is not needed

> 

> integer :: r(10), idx(4), jdx(4)

> r = [(i+10,i=1,10)]

> idx = [1, 2, 3, 4]

> jdx = [6, 7, 8, 9]

> r(idx) = r(jdx)

> print *, r

> end

> 

> r(idx) = r(jdx)

>          1

> Warning: Creating array temporary at (1)



Currently, we do not support assigning values to variables

and then later using the values for dependency analysis.



This would require forward propagation of values, which we

don't do in the front end.  Plus, a lot of dependency test cases

where we used variables to hide them from the optimization would

start failing ;-)

Reply via email to