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)