diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-24 08:39:34 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-24 08:39:34 +0000 |
commit | 775fd05ddc5e0d040712bdcbd6c0b6dd4fce25ec (patch) | |
tree | eee54f5749132c980a4ba899e0922e67ffb37f13 /gcc/passes.c | |
parent | b438f700a3f3fcca5fe25fc8a1dc65e24fb1914a (diff) | |
download | gcc-775fd05ddc5e0d040712bdcbd6c0b6dd4fce25ec.tar.gz |
* target.h (late_rtl_prologue_epilogue): Remove.
* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
* system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
* passes.c (rest_of_handle_prologue_epilogue): Remove and move
remaining bits to...
(rest_of_handle_flow2): ...here.
(rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue.
* doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91140 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index cb81eb7b536..36b13d155fb 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1314,24 +1314,6 @@ rest_of_handle_eh (void) } } - -static void -rest_of_handle_prologue_epilogue (void) -{ - if (optimize && !flow2_completed) - cleanup_cfg (CLEANUP_EXPENSIVE); - - /* On some machines, the prologue and epilogue code, or parts thereof, - can be represented as RTL. Doing so lets us schedule insns between - it and the rest of the code and also allows delayed branch - scheduling to operate in the epilogue. */ - thread_prologue_and_epilogue_insns (get_insns ()); - epilogue_completed = 1; - - if (optimize && flow2_completed) - life_analysis (dump_file, PROP_POSTRELOAD); -} - static void rest_of_handle_stack_adjustments (void) { @@ -1369,8 +1351,15 @@ rest_of_handle_flow2 (void) if (flag_branch_target_load_optimize) rest_of_handle_branch_target_load_optimize (); - if (!targetm.late_rtl_prologue_epilogue) - rest_of_handle_prologue_epilogue (); + if (optimize) + cleanup_cfg (CLEANUP_EXPENSIVE); + + /* On some machines, the prologue and epilogue code, or parts thereof, + can be represented as RTL. Doing so lets us schedule insns between + it and the rest of the code and also allows delayed branch + scheduling to operate in the epilogue. */ + thread_prologue_and_epilogue_insns (get_insns ()); + epilogue_completed = 1; if (optimize) rest_of_handle_stack_adjustments (); @@ -1765,9 +1754,6 @@ rest_of_compilation (void) = optimize > 0 && only_leaf_regs_used () && leaf_function_p (); #endif - if (targetm.late_rtl_prologue_epilogue) - rest_of_handle_prologue_epilogue (); - #ifdef INSN_SCHEDULING if (optimize > 0 && flag_schedule_insns_after_reload) rest_of_handle_sched2 (); |