https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111517
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2023-09-21
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
On the subject of:
_1 = MEM[(unsigned int *)0B + -320B + ivtmp.27_36 + ivtmp.16_4 * 4];
during the local-pure-const2 pass:
Indirect ref write is not const/pure
vs:
NULL memory access; terminating BB
But that MEM is not exactly an NULL Pointer access ...
_39 = (sizetype) this_9(D);
ivtmp.27_38 = _39 * 18446744073709551613;
ivtmp.28_42 = _39 + 100;
This is also definitely IV-OPTs messing up ...
Though before GCC 12 it had that too but the local-pure-const2 pass it thought
something different about it:
scanning: _1 = MEM[(unsigned int *)0B + -320B + ivtmp.27_34 + ivtmp.16_3 *
4];
Indirect ref to local or readonly memory is OK