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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-04-10
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |law at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I guess for this warning we don't have anything like predicate-aware analysis
that would find out that while we have:
...
  <bb 25> [local count: 484313586]:
  # unum_167 = PHI <unum_54(39), unum_34(41)>
  # iftmp.1_152 = PHI <iftmp.1_174(39), iftmp.1_113(41)>
  # PT = null { D.3872 D.3873 } (escaped, escaped heap)
  # ALIGN = 8, MISALIGN = 0
  # u_154 = PHI <0B(39), u_87(41)>
  _19 = *iftmp.1_152;
...
  # PT = nonlocal
  iftmp.1_174 = separator_63(D) + 1;
...
  # PT = nonlocal null
  # iftmp.1_113 = PHI <0B(11), iftmp.1_119(42)>
we have also:
  _25 = iftmp.1_113 != 0B;
  _130 = error_msg_46 == 0B;
  _127 = _25 & _130;
  if (_127 != 0)
    goto <bb 25>; [100.00%]
  else
    goto <bb 31>; [0.00%]
in bb 41 and thus iftmp.1_113 is known to be non-NULL.

Reply via email to