remove epilogue delay list

This commit is contained in:
YamaArashi
2016-02-14 18:53:42 -08:00
parent 7aeb8da213
commit abcd805cb7
4 changed files with 0 additions and 28 deletions

View File

@@ -2976,15 +2976,6 @@ leaf_function_p ()
&& GET_CODE (XVECEXP (PATTERN (insn), 0, 0)) == CALL_INSN)
return 0;
}
for (insn = current_function_epilogue_delay_list; insn; insn = XEXP (insn, 1))
{
if (GET_CODE (XEXP (insn, 0)) == CALL_INSN)
return 0;
if (GET_CODE (XEXP (insn, 0)) == INSN
&& GET_CODE (PATTERN (XEXP (insn, 0))) == SEQUENCE
&& GET_CODE (XVECEXP (PATTERN (XEXP (insn, 0)), 0, 0)) == CALL_INSN)
return 0;
}
return 1;
}

View File

@@ -162,11 +162,6 @@ int current_function_calls_alloca;
int current_function_returns_pointer;
/* If some insns can be deferred to the delay slots of the epilogue, the
delay list for them is recorded here. */
rtx current_function_epilogue_delay_list;
/* If function's args have a fixed size, this is that size, in bytes.
Otherwise, it is -1.
May affect compilation of return insn or of function epilogue. */
@@ -565,7 +560,6 @@ push_function_context_to (context)
p->target_temp_slot_level = target_temp_slot_level;
p->var_temp_slot_level = var_temp_slot_level;
p->fixup_var_refs_queue = 0;
p->epilogue_delay_list = current_function_epilogue_delay_list;
p->args_info = current_function_args_info;
p->check_memory_usage = current_function_check_memory_usage;
p->instrument_entry_exit = current_function_instrument_entry_exit;
@@ -651,7 +645,6 @@ pop_function_context_from (context)
temp_slot_level = p->temp_slot_level;
target_temp_slot_level = p->target_temp_slot_level;
var_temp_slot_level = p->var_temp_slot_level;
current_function_epilogue_delay_list = p->epilogue_delay_list;
reg_renumber = 0;
current_function_args_info = p->args_info;
current_function_check_memory_usage = p->check_memory_usage;
@@ -5627,7 +5620,6 @@ init_function_start (subr, filename, line)
current_function_returns_pcc_struct = 0;
current_function_returns_struct = 0;
current_function_epilogue_delay_list = 0;
current_function_uses_const_pool = 0;
current_function_uses_pic_offset_table = 0;
current_function_cannot_inline = 0;

View File

@@ -444,11 +444,6 @@ extern char *current_function_name;
DECL_RTL (DECL_RESULT (current_function_decl)). */
extern rtx current_function_return_rtx;
/* If some insns can be deferred to the delay slots of the epilogue, the
delay list for them is recorded here. */
extern rtx current_function_epilogue_delay_list;
#endif
/* Nonzero means generate position-independent code.

View File

@@ -3596,12 +3596,6 @@ mark_constant_pool ()
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
mark_constants (PATTERN (insn));
for (insn = current_function_epilogue_delay_list;
insn;
insn = XEXP (insn, 1))
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
mark_constants (PATTERN (insn));
}
static void