mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-22 21:51:36 +08:00
add default definition of EH_RETURN_DATA_REGNO
gcc/ChangeLog: 2015-04-21 Trevor Saunders <tbsaunde+gcc@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. From-SVN: r222293
This commit is contained in:
parent
858d4a15b7
commit
9a52250502
@ -1,3 +1,15 @@
|
||||
2015-04-21 Trevor Saunders <tbsaunde+gcc@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.
|
||||
|
||||
2015-04-21 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
|
||||
|
@ -6510,10 +6510,8 @@ expand_builtin (tree exp, rtx target, rtx subtarget, machine_mode mode,
|
||||
expand_builtin_eh_return (CALL_EXPR_ARG (exp, 0),
|
||||
CALL_EXPR_ARG (exp, 1));
|
||||
return const0_rtx;
|
||||
#ifdef EH_RETURN_DATA_REGNO
|
||||
case BUILT_IN_EH_RETURN_DATA_REGNO:
|
||||
return expand_builtin_eh_return_data_regno (exp);
|
||||
#endif
|
||||
case BUILT_IN_EXTEND_POINTER:
|
||||
return expand_builtin_extend_pointer (CALL_EXPR_ARG (exp, 0));
|
||||
case BUILT_IN_EH_POINTER:
|
||||
|
@ -377,6 +377,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Provide defaults for stuff that may not be defined when using
|
||||
sjlj exceptions. */
|
||||
#ifndef EH_RETURN_DATA_REGNO
|
||||
#define EH_RETURN_DATA_REGNO(N) INVALID_REGNUM
|
||||
#endif
|
||||
|
||||
/* If we have named section and we support weak symbols, then use the
|
||||
.jcr section for recording java classes which need to be registered
|
||||
at program start-up time. */
|
||||
|
@ -3332,7 +3332,6 @@ df_bb_refs_collect (struct df_collection_rec *collection_rec, basic_block bb)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef EH_RETURN_DATA_REGNO
|
||||
if (bb_has_eh_pred (bb))
|
||||
{
|
||||
unsigned int i;
|
||||
@ -3346,7 +3345,6 @@ df_bb_refs_collect (struct df_collection_rec *collection_rec, basic_block bb)
|
||||
bb, NULL, DF_REF_REG_DEF, DF_REF_AT_TOP);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Add the hard_frame_pointer if this block is the target of a
|
||||
non-local goto. */
|
||||
@ -3751,7 +3749,6 @@ df_get_exit_block_use_set (bitmap exit_block_uses)
|
||||
bitmap_set_bit (exit_block_uses, i);
|
||||
}
|
||||
|
||||
#ifdef EH_RETURN_DATA_REGNO
|
||||
/* Mark the registers that will contain data for the handler. */
|
||||
if (reload_completed && crtl->calls_eh_return)
|
||||
for (i = 0; ; ++i)
|
||||
@ -3761,7 +3758,6 @@ df_get_exit_block_use_set (bitmap exit_block_uses)
|
||||
break;
|
||||
bitmap_set_bit (exit_block_uses, regno);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef EH_RETURN_STACKADJ_RTX
|
||||
if ((!HAVE_epilogue || ! epilogue_completed)
|
||||
|
@ -174,12 +174,6 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "cfgloop.h"
|
||||
#include "builtins.h"
|
||||
|
||||
/* Provide defaults for stuff that may not be defined when using
|
||||
sjlj exceptions. */
|
||||
#ifndef EH_RETURN_DATA_REGNO
|
||||
#define EH_RETURN_DATA_REGNO(N) INVALID_REGNUM
|
||||
#endif
|
||||
|
||||
static GTY(()) int call_site_base;
|
||||
|
||||
struct tree_hash_traits : default_hashmap_traits
|
||||
|
@ -1070,7 +1070,6 @@ initiate_bb_reg_pressure_info (basic_block bb)
|
||||
if (NONDEBUG_INSN_P (insn))
|
||||
setup_ref_regs (PATTERN (insn));
|
||||
initiate_reg_pressure_info (df_get_live_in (bb));
|
||||
#ifdef EH_RETURN_DATA_REGNO
|
||||
if (bb_has_eh_pred (bb))
|
||||
for (i = 0; ; ++i)
|
||||
{
|
||||
@ -1082,7 +1081,6 @@ initiate_bb_reg_pressure_info (basic_block bb)
|
||||
mark_regno_birth_or_death (curr_reg_live, curr_reg_pressure,
|
||||
regno, true);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Save current register pressure related info. */
|
||||
|
@ -1319,7 +1319,6 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node)
|
||||
curr_point++;
|
||||
}
|
||||
|
||||
#ifdef EH_RETURN_DATA_REGNO
|
||||
if (bb_has_eh_pred (bb))
|
||||
for (j = 0; ; ++j)
|
||||
{
|
||||
@ -1328,7 +1327,6 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node)
|
||||
break;
|
||||
make_hard_regno_born (regno);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Allocnos can't go in stack regs at the start of a basic block
|
||||
that is reached by an abnormal edge. Likewise for call
|
||||
|
@ -954,7 +954,6 @@ process_bb_lives (basic_block bb, int &curr_point, bool dead_insn_p)
|
||||
add_reg_note (curr_insn, REG_UNUSED, regno_reg_rtx[j]);
|
||||
}
|
||||
|
||||
#ifdef EH_RETURN_DATA_REGNO
|
||||
if (bb_has_eh_pred (bb))
|
||||
for (j = 0; ; ++j)
|
||||
{
|
||||
@ -964,7 +963,6 @@ process_bb_lives (basic_block bb, int &curr_point, bool dead_insn_p)
|
||||
break;
|
||||
make_hard_regno_born (regno, false);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Pseudos can't go in stack regs at the start of a basic block that
|
||||
is reached by an abnormal edge. Likewise for call clobbered regs,
|
||||
|
Loading…
x
Reference in New Issue
Block a user