On Tue, Apr 21, 2015 at 07:40:37AM -0600, Jeff Law wrote:
> On 04/21/2015 07:24 AM, [email protected] wrote:
> >From: Trevor Saunders <[email protected]>
> >
> >gcc/ChangeLog:
> >
> >2015-04-21 Trevor Saunders <[email protected]>
> >
> > * defaults.h: New definition of EH_RETURN_DATA_REGNO.
> > * except.c: Remove definition of EH_RETURN_DATA_REGNO.
> > * builtins.c (expand_builtin): Remove check if
> > EH_RETURN_DATA_REGNO is defined.
> > * df-scan.c (df_bb_refs_collect): Likewise.
> > (df_get_exit_block_use_set): Likewise.
> > * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
> > * ira-lives.c (process_bb_node_lives): Likewise.
> > * lra-lives.c (process_bb_lives): Likewise.
> This one wasn't as obvious as the others, but is clearly OK once the full
> loops being guarded by EH_RETURN_DATA_REGNO are examined.
Except that the bb_has_eh_pred predicate might burn CPU time for basic
blocks with many predecessors. Though, the question is if there are any
important targets that don't define EH_RETURN_DATA_REGNO already.
Jakub