aboutsummaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-02-06 05:01:03 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-02-06 05:01:03 -0800
commit69732dcb9c663d68d2a5d433ce76ed8da43e5632 (patch)
tree14cb8de0063e0e21049d8e2193ad60c82320ff4c /gcc/jump.c
parent52a75c3c22a68d2acdbdf6e2e5070b1f424bfc81 (diff)
downloadgcc-69732dcb9c663d68d2a5d433ce76ed8da43e5632.zip
gcc-69732dcb9c663d68d2a5d433ce76ed8da43e5632.tar.gz
gcc-69732dcb9c663d68d2a5d433ce76ed8da43e5632.tar.bz2
flow.c (flow_delete_insn, [...]): Export.
* flow.c (flow_delete_insn, make_edge, remove_edge): Export. * basic-block.h: Declare them. * emit-rtl.h (active_insn_p): New. (next_active_insn, prev_active_insn): Use it. * rtl.h: Declare it. * function.c (emit_return_into_block): New. (thread_prologue_and_epilogue_insns): Insert return insns instead of epilogues when possible. * jump.c (jump_optimize_1): Remove code to insert a return insn on the fallthru to the exit block. From-SVN: r31826
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c39
1 files changed, 0 insertions, 39 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index ad213bc..417425d 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -232,25 +232,6 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only)
last_insn = delete_unreferenced_labels (f);
-#ifdef HAVE_return
- if (optimize && HAVE_return)
- {
- /* If we fall through to the epilogue, see if we can insert a RETURN insn
- in front of it. If the machine allows it at this point (we might be
- after reload for a leaf routine), it will improve optimization for it
- to be there. */
- insn = get_last_insn ();
- while (insn && GET_CODE (insn) == NOTE)
- insn = PREV_INSN (insn);
-
- if (insn && GET_CODE (insn) != BARRIER)
- {
- emit_jump_insn (gen_return ());
- emit_barrier ();
- }
- }
-#endif
-
if (noop_moves)
delete_noop_moves (f);
@@ -2142,26 +2123,6 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only)
}
}
-#ifdef HAVE_return
- if (HAVE_return)
- {
- /* If we fall through to the epilogue, see if we can insert a RETURN insn
- in front of it. If the machine allows it at this point (we might be
- after reload for a leaf routine), it will improve optimization for it
- to be there. We do this both here and at the start of this pass since
- the RETURN might have been deleted by some of our optimizations. */
- insn = get_last_insn ();
- while (insn && GET_CODE (insn) == NOTE)
- insn = PREV_INSN (insn);
-
- if (insn && GET_CODE (insn) != BARRIER)
- {
- emit_jump_insn (gen_return ());
- emit_barrier ();
- }
- }
-#endif
-
/* CAN_REACH_END is persistent for each function. Once set it should
not be cleared. This is especially true for the case where we
delete the NOTE_FUNCTION_END note. CAN_REACH_END is cleared by