https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66090
kugan at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kugan at gcc dot gnu.org --- Comment #1 from kugan at gcc dot gnu.org --- trunk also has the same issue and ivopt seems to be wrong here: in test.c.135t.cunroll: # ivtmp_2 = PHI <ivtmp_1(4), 1024(2)> ptr_5 = ptr_12 + 4; *ptr_12 = 0; i_7 = i_11 + 1; ivtmp_1 = ivtmp_2 - 1; if (ivtmp_1 != 0) In test.c.138t.ivopts: # ptr_12 = PHI <ptr_5(4), 4294963200B(2)> ptr_5 = ptr_12 + 4; MEM[base: ptr_5, offset: 4294967292B] = 0; if (ptr_5 != 0B) In vrp, ptr_5 is ~[0B, 0B] and hence the condition is eliminated but the problem was introduced in ivopt.