http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011.07.04 09:57:07
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-07-04 
09:57:07 UTC ---
Confirmed and mine.  forwprop makes the noreturn call direct via cfgcleanup:

<L1>:
  # DEBUG obj => this_2(D)
  # DEBUG func$__pfn => g
  # DEBUG func$__delta => 0
  # DEBUG func$__pfn => g
  # DEBUG func$__delta => 0
  D.2159_33 = (long int) g;
  D.2156_45 = this_2(D);
  C::g (D.2156_45);
  # DEBUG b => D.2148_52(D)

from

<L1>:
  func$__pfn_5 = g;
  # DEBUG obj => this_2(D)
  # DEBUG func$__pfn => g
  # DEBUG func$__delta => 0
  # DEBUG func$__pfn => g
  # DEBUG func$__delta => 0
  D.2159_33 = (long int) g;
  D.2158_34 = D.2159_33 & 1;
  if (D.2158_34 != 0)
    goto <bb 7>;
  else
    goto <bb 8>;

<bb 7>:
  ... DEAD ...

<bb 8>:
  # func$__pfn_46 = PHI <g(6), func$__pfn_43(7)>
  D.2156_45 = this_2(D);
  func$__pfn_46 (D.2156_45);
  # DEBUG b => D.2148_52(D)

Reply via email to