summaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-24 08:39:34 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-24 08:39:34 +0000
commit775fd05ddc5e0d040712bdcbd6c0b6dd4fce25ec (patch)
treeeee54f5749132c980a4ba899e0922e67ffb37f13 /gcc/passes.c
parentb438f700a3f3fcca5fe25fc8a1dc65e24fb1914a (diff)
downloadgcc-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.c32
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 ();