Message ID | 201104040912.16954.ebotcazou@adacore.com |
---|---|
State | New |
Headers | show |
On Mon, Apr 4, 2011 at 9:12 AM, Eric Botcazou <ebotcazou@adacore.com> wrote: > Hi, > > tidy_fallthru_edges contains RTL-specific bits: > > if (! (s->flags & EDGE_COMPLEX) > && s->dest == c > && !find_reg_note (BB_END (b), REG_CROSSING_JUMP, NULL_RTX)) > tidy_fallthru_edge (s); > > so it is disabled at the GIMPLE level. That's why I don't think that calling > it from tree-inline.c makes much sense. > > Tested on i586-suse-linux, OK for mainline? Ok. Thanks, Richard. > > 2011-04-04 Eric Botcazou <ebotcazou@adacore.com> > > * cfghooks.c (tidy_fallthru_edges): Add ??? comment. > * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove > call to tidy_fallthru_edges. > > > -- > Eric Botcazou >
Index: cfghooks.c =================================================================== --- cfghooks.c (revision 171818) +++ cfghooks.c (working copy) @@ -830,7 +830,9 @@ tidy_fallthru_edge (edge e) /* Fix up edges that now fall through, or rather should now fall through but previously required a jump around now deleted blocks. Simplify the search by only examining blocks numerically adjacent, since this - is how they were created. */ + is how they were created. + + ??? This routine is currently RTL specific. */ void tidy_fallthru_edges (void) Index: tree-inline.c =================================================================== --- tree-inline.c (revision 171818) +++ tree-inline.c (working copy) @@ -4964,8 +4964,6 @@ delete_unreachable_blocks_update_callgra } } - if (changed) - tidy_fallthru_edges (); return changed; }