------- Additional Comments From rakdver at gcc dot gnu dot org 2004-11-12 11:24 ------- The problem seems to be that licm does not move load of q from the loop. Ivopts then do not recognize q + 2*i as induction variable, and thus they are optimizing it not like an address of memory reference, but just like a computation of 2*i, for which it obviously does not make sense to perform strength reduction.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18431