------- Comment #11 from rguenth at gcc dot gnu dot org 2009-08-13 13:30 ------- DO i = 1,10 call bar(i) END DO
if bar may not modify i then the frontend can simply communicate that to the middle-end by doing DO i = 1,10 j = i; call bar (j) END DO likewise if loop bounds are not allowed to be changed (are they?) Do i = n,m ... to tmp1 = n tmp2 = m Do i = tmp1,tmp2 ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31593