https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87325

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING
   Last reconfirmed|2018-09-17 00:00:00         |2023-12-5

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
It now works "better":

  <bb 3> [local count: 201326592]:
  ivtmp.7_24 = (<unnamed-unsigned:24>) &ts;

  <bb 4> [local count: 805306368]:
  # i_20 = PHI <i_15(6), 0(3)>
  # ivtmp.7_26 = PHI <ivtmp.7_25(6), ivtmp.7_24(3)>
  _29 = (<address-space-7> void *) ivtmp.7_26;
  _30 = _29 + 4;
  _1 = MEM[(float *)_30];
  _2 = MEM[(float *)_29];
  _3 = bar (_2, _1);
  r = _3;
  _17 = ivtmp.7_26 + 8;
  _4 = (const <address-space-7> float *) _17;
  _5 = (const float *) _4;
  _6 = foo (&r, _5);
  if (_6 != 0)

note the (implicit) address-space convert for the 2nd argument to foo (),
the testcase may be actually invalid.  The linked bug is still there,
but this one might be fixed by r14-6133-ge00c00730912cd?

Please verify and close if fixed.  PR60075 tracks a remaining IVOPTs issue.

Reply via email to