https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51084
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2012-01-07 00:00:00 |2021-7-26 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- pure0: _5 = obj_2(D) < &pure[1000000]; _6 = obj_2(D) >= &pure; _7 = _5 & _6; pure1: _5 = obj_2(D) < &MEM <char[1000000]> [(void *)&pure + 1000000B]; _6 = obj_2(D) >= &pure; _7 = _5 & _6; pure2: obj.2_1 = (long unsigned int) obj_5(D); pure.3_2 = (long unsigned int) &pure; _3 = obj.2_1 - pure.3_2; _4 = _3 <= 1000000; pure3: _1 = obj_4(D) - &pure; _2 = (long unsigned int) _1; _3 = _2 <= 1000000; We should be able to convert pure0 and pure1 into pure3 really.