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.