Commit 9a522505 by Trevor Saunders Committed by Trevor Saunders

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
parent 858d4a15
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> 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG, * 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, ...@@ -6510,10 +6510,8 @@ expand_builtin (tree exp, rtx target, rtx subtarget, machine_mode mode,
expand_builtin_eh_return (CALL_EXPR_ARG (exp, 0), expand_builtin_eh_return (CALL_EXPR_ARG (exp, 0),
CALL_EXPR_ARG (exp, 1)); CALL_EXPR_ARG (exp, 1));
return const0_rtx; return const0_rtx;
#ifdef EH_RETURN_DATA_REGNO
case BUILT_IN_EH_RETURN_DATA_REGNO: case BUILT_IN_EH_RETURN_DATA_REGNO:
return expand_builtin_eh_return_data_regno (exp); return expand_builtin_eh_return_data_regno (exp);
#endif
case BUILT_IN_EXTEND_POINTER: case BUILT_IN_EXTEND_POINTER:
return expand_builtin_extend_pointer (CALL_EXPR_ARG (exp, 0)); return expand_builtin_extend_pointer (CALL_EXPR_ARG (exp, 0));
case BUILT_IN_EH_POINTER: case BUILT_IN_EH_POINTER:
......
...@@ -377,6 +377,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -377,6 +377,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#endif #endif
#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 /* If we have named section and we support weak symbols, then use the
.jcr section for recording java classes which need to be registered .jcr section for recording java classes which need to be registered
at program start-up time. */ at program start-up time. */
......
...@@ -3332,7 +3332,6 @@ df_bb_refs_collect (struct df_collection_rec *collection_rec, basic_block bb) ...@@ -3332,7 +3332,6 @@ df_bb_refs_collect (struct df_collection_rec *collection_rec, basic_block bb)
return; return;
} }
#ifdef EH_RETURN_DATA_REGNO
if (bb_has_eh_pred (bb)) if (bb_has_eh_pred (bb))
{ {
unsigned int i; unsigned int i;
...@@ -3346,7 +3345,6 @@ df_bb_refs_collect (struct df_collection_rec *collection_rec, basic_block bb) ...@@ -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); bb, NULL, DF_REF_REG_DEF, DF_REF_AT_TOP);
} }
} }
#endif
/* Add the hard_frame_pointer if this block is the target of a /* Add the hard_frame_pointer if this block is the target of a
non-local goto. */ non-local goto. */
...@@ -3751,7 +3749,6 @@ df_get_exit_block_use_set (bitmap exit_block_uses) ...@@ -3751,7 +3749,6 @@ df_get_exit_block_use_set (bitmap exit_block_uses)
bitmap_set_bit (exit_block_uses, i); bitmap_set_bit (exit_block_uses, i);
} }
#ifdef EH_RETURN_DATA_REGNO
/* Mark the registers that will contain data for the handler. */ /* Mark the registers that will contain data for the handler. */
if (reload_completed && crtl->calls_eh_return) if (reload_completed && crtl->calls_eh_return)
for (i = 0; ; ++i) for (i = 0; ; ++i)
...@@ -3761,7 +3758,6 @@ df_get_exit_block_use_set (bitmap exit_block_uses) ...@@ -3761,7 +3758,6 @@ df_get_exit_block_use_set (bitmap exit_block_uses)
break; break;
bitmap_set_bit (exit_block_uses, regno); bitmap_set_bit (exit_block_uses, regno);
} }
#endif
#ifdef EH_RETURN_STACKADJ_RTX #ifdef EH_RETURN_STACKADJ_RTX
if ((!HAVE_epilogue || ! epilogue_completed) if ((!HAVE_epilogue || ! epilogue_completed)
......
...@@ -174,12 +174,6 @@ along with GCC; see the file COPYING3. If not see ...@@ -174,12 +174,6 @@ along with GCC; see the file COPYING3. If not see
#include "cfgloop.h" #include "cfgloop.h"
#include "builtins.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; static GTY(()) int call_site_base;
struct tree_hash_traits : default_hashmap_traits struct tree_hash_traits : default_hashmap_traits
......
...@@ -1070,7 +1070,6 @@ initiate_bb_reg_pressure_info (basic_block bb) ...@@ -1070,7 +1070,6 @@ initiate_bb_reg_pressure_info (basic_block bb)
if (NONDEBUG_INSN_P (insn)) if (NONDEBUG_INSN_P (insn))
setup_ref_regs (PATTERN (insn)); setup_ref_regs (PATTERN (insn));
initiate_reg_pressure_info (df_get_live_in (bb)); initiate_reg_pressure_info (df_get_live_in (bb));
#ifdef EH_RETURN_DATA_REGNO
if (bb_has_eh_pred (bb)) if (bb_has_eh_pred (bb))
for (i = 0; ; ++i) for (i = 0; ; ++i)
{ {
...@@ -1082,7 +1081,6 @@ initiate_bb_reg_pressure_info (basic_block bb) ...@@ -1082,7 +1081,6 @@ initiate_bb_reg_pressure_info (basic_block bb)
mark_regno_birth_or_death (curr_reg_live, curr_reg_pressure, mark_regno_birth_or_death (curr_reg_live, curr_reg_pressure,
regno, true); regno, true);
} }
#endif
} }
/* Save current register pressure related info. */ /* Save current register pressure related info. */
......
...@@ -1319,7 +1319,6 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node) ...@@ -1319,7 +1319,6 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node)
curr_point++; curr_point++;
} }
#ifdef EH_RETURN_DATA_REGNO
if (bb_has_eh_pred (bb)) if (bb_has_eh_pred (bb))
for (j = 0; ; ++j) for (j = 0; ; ++j)
{ {
...@@ -1328,7 +1327,6 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node) ...@@ -1328,7 +1327,6 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node)
break; break;
make_hard_regno_born (regno); make_hard_regno_born (regno);
} }
#endif
/* Allocnos can't go in stack regs at the start of a basic block /* Allocnos can't go in stack regs at the start of a basic block
that is reached by an abnormal edge. Likewise for call 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) ...@@ -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]); add_reg_note (curr_insn, REG_UNUSED, regno_reg_rtx[j]);
} }
#ifdef EH_RETURN_DATA_REGNO
if (bb_has_eh_pred (bb)) if (bb_has_eh_pred (bb))
for (j = 0; ; ++j) for (j = 0; ; ++j)
{ {
...@@ -964,7 +963,6 @@ process_bb_lives (basic_block bb, int &curr_point, bool dead_insn_p) ...@@ -964,7 +963,6 @@ process_bb_lives (basic_block bb, int &curr_point, bool dead_insn_p)
break; break;
make_hard_regno_born (regno, false); make_hard_regno_born (regno, false);
} }
#endif
/* Pseudos can't go in stack regs at the start of a basic block that /* 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, is reached by an abnormal edge. Likewise for call clobbered regs,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment