On 04/21/2015 08:00 AM, Jakub Jelinek wrote:
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.
Probably not since they'll blow up elsewhere (I was recently helping someone with a private port that didn't define EH_RETURN_DATA_REGNO) :-)
jeff

Reply via email to