aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-03-12 06:42:18 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-03-12 06:42:18 -0500
commit8cd2aff2d1dfb32beeb7e1e6634a3b9ba782e95d (patch)
treee0e420da6cbfa1847e6943168bcfbbe89ce9c8cc /gcc
parentef903ecaa925f7a3479b9c9e5d735b56c640ddf6 (diff)
downloadgcc-8cd2aff2d1dfb32beeb7e1e6634a3b9ba782e95d.zip
gcc-8cd2aff2d1dfb32beeb7e1e6634a3b9ba782e95d.tar.gz
gcc-8cd2aff2d1dfb32beeb7e1e6634a3b9ba782e95d.tar.bz2
Add prototypes for static functions.
(jump_optimize, delete_insn): Use GET_RTX_CLASS to test for insns. (mark_jump_label): Delete dead code. (delete_computation, redirect_tablejump): No longer static. From-SVN: r6753
Diffstat (limited to 'gcc')
-rw-r--r--gcc/jump.c42
1 files changed, 16 insertions, 26 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index a69ca79..e5d2876 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -103,19 +103,16 @@ int can_reach_end;
static int cross_jump_death_matters = 0;
-static int duplicate_loop_exit_test ();
-void redirect_tablejump ();
-static int delete_labelref_insn ();
-static void mark_jump_label ();
-void delete_jump ();
-void delete_computation ();
-static void delete_from_jump_chain ();
-static int tension_vector_labels ();
-static void find_cross_jump ();
-static void do_cross_jump ();
-static int jump_back_p ();
-
-extern rtx gen_jump ();
+static int duplicate_loop_exit_test PROTO((rtx));
+static void find_cross_jump PROTO((rtx, rtx, int, rtx *, rtx *));
+static void do_cross_jump PROTO((rtx, rtx, rtx));
+static int jump_back_p PROTO((rtx, rtx));
+static int tension_vector_labels PROTO((rtx, int));
+static void mark_jump_label PROTO((rtx, rtx, int));
+static void delete_computation PROTO((rtx));
+static void delete_from_jump_chain PROTO((rtx));
+static int delete_labelref_insn PROTO((rtx, rtx, int));
+static void redirect_tablejump PROTO((rtx, rtx));
/* Delete no-op jumps and optimize jumps to jumps
and jumps around jumps.
@@ -210,8 +207,7 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan)
also make a chain of all returns. */
for (insn = f; insn; insn = NEXT_INSN (insn))
- if ((GET_CODE (insn) == JUMP_INSN || GET_CODE (insn) == INSN
- || GET_CODE (insn) == CALL_INSN)
+ if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
&& ! INSN_DELETED_P (insn))
{
mark_jump_label (PATTERN (insn), insn, cross_jump);
@@ -3081,13 +3077,8 @@ mark_jump_label (x, insn, cross_jump)
|| ! (GET_CODE (next) == JUMP_INSN
&& (GET_CODE (PATTERN (next)) == ADDR_VEC
|| GET_CODE (PATTERN (next)) == ADDR_DIFF_VEC)))
- {
- REG_NOTES (insn) = gen_rtx (EXPR_LIST, REG_LABEL, label,
- REG_NOTES (insn));
- /* Record in the note whether label is nonlocal. */
- LABEL_REF_NONLOCAL_P (REG_NOTES (insn))
- = LABEL_REF_NONLOCAL_P (x);
- }
+ REG_NOTES (insn) = gen_rtx (EXPR_LIST, REG_LABEL, label,
+ REG_NOTES (insn));
}
}
return;
@@ -3147,7 +3138,7 @@ delete_jump (insn)
On machines with CC0, if CC0 is used in this insn, we may be able to
delete the insn that set it. */
-void
+static void
delete_computation (insn)
rtx insn;
{
@@ -3361,8 +3352,7 @@ delete_insn (insn)
{
register RTX_CODE code;
while (next != 0
- && ((code = GET_CODE (next)) == INSN
- || code == JUMP_INSN || code == CALL_INSN
+ && (GET_RTX_CLASS (code = GET_CODE (next)) == 'i'
|| code == NOTE
|| (code == CODE_LABEL && INSN_DELETED_P (next))))
{
@@ -3677,7 +3667,7 @@ redirect_exp (loc, olabel, nlabel, insn)
before the jump references that label and delete it and logical successors
too. */
-void
+static void
redirect_tablejump (jump, nlabel)
rtx jump, nlabel;
{