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 ;-)