diff options
author | YamaArashi <shadow962@live.com> | 2016-02-14 18:53:42 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-02-14 18:53:42 -0800 |
commit | abcd805cb77cfcfe0b5f911b784610983750a0b2 (patch) | |
tree | 23f256c89b81755f41df512d9410a3e70cc53a10 /gcc | |
parent | 7aeb8da2138f7521a78d377343b3a266e1e6f9d6 (diff) |
remove epilogue delay list
Diffstat (limited to 'gcc')
-rwxr-xr-x | gcc/final.c | 9 | ||||
-rwxr-xr-x | gcc/function.c | 8 | ||||
-rwxr-xr-x | gcc/output.h | 5 | ||||
-rwxr-xr-x | gcc/varasm.c | 6 |
4 files changed, 0 insertions, 28 deletions
diff --git a/gcc/final.c b/gcc/final.c index 624a231..0cb1444 100755 --- a/gcc/final.c +++ b/gcc/final.c @@ -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; } diff --git a/gcc/function.c b/gcc/function.c index 10f8760..035d089 100755 --- a/gcc/function.c +++ b/gcc/function.c @@ -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; diff --git a/gcc/output.h b/gcc/output.h index 26d62c9..227da4c 100755 --- a/gcc/output.h +++ b/gcc/output.h @@ -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. diff --git a/gcc/varasm.c b/gcc/varasm.c index 5037b43..267ff99 100755 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -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 |