------- Comment #3 from rguenth at gcc dot gnu dot org 2010-01-14 11:56 -------
The issue is we have an invalid CFG:
{
int D.2137;
Invalid sum of incoming frequencies 10000, should be 5000
M:
<bb 3>:
[LP 2] f ();
<bb 4>:
[LP 3] f ();
goto <bb 6>;
L:
<L10>: [LP 3]
goto <bb 10> (<L7>);
note the block with two labels - we'll end up looking up the EH landing
pad nr on L instead of <L10>.
It is cfg-cleanup that when removing a forwarder block moves the label
in it to that block via remove_bb ().
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2010-01-14 10:04:13 |2010-01-14 11:56:54
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42739