On Tue, Apr 21, 2015 at 07:40:37AM -0600, Jeff Law wrote: > On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: > >From: Trevor Saunders <tbsaunde+...@tbsaunde.org> > > > >gcc/ChangeLog: > > > >2015-04-21 Trevor Saunders <tbsaunde+...@tbsaunde.org> > > > > * 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