https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79675
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amker at gcc dot gnu.org --- Comment #1 from ktkachov at gcc dot gnu.org --- I think ivopts also contributes here. Before ivopts the memory access and address are: s1_10 = s1_3 + 1; c1_11 = *s1_3; but ivopts transforms them to: s1_10 = s1_3 + 1; c1_11 = MEM[base: s1_10, offset: -1B]; So the memory address is now dependent on s1_10 rather than s1_3 and introduces an offset where there was none before