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

Reply via email to