aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorDave Brolley <brolley@cygnus.com>1999-01-29 15:25:17 +0000
committerDave Brolley <brolley@gcc.gnu.org>1999-01-29 10:25:17 -0500
commit89e99eea8015548093218f652c9d8a17e78542a3 (patch)
tree8692386860ab7ebbe81ec29448463ae26a6f5977 /gcc/function.c
parent061ac426189161b669a2a0b6e67fab19e7fde25d (diff)
downloadgcc-89e99eea8015548093218f652c9d8a17e78542a3.zip
gcc-89e99eea8015548093218f652c9d8a17e78542a3.tar.gz
gcc-89e99eea8015548093218f652c9d8a17e78542a3.tar.bz2
emit-rtl.c (remove_insn): New function.
Fri Jan 29 18:26:07 1999 Dave Brolley <brolley@cygnus.com> * emit-rtl.c (remove_insn): New function. * rtl.h (remove_insn): Add prototype. * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn. From-SVN: r24908
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/gcc/function.c b/gcc/function.c
index e2c836d..0a86580 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -6439,7 +6439,6 @@ reposition_prologue_and_epilogue_notes (f)
/* Reposition the prologue and epilogue notes. */
if (n_basic_blocks)
{
- rtx next, prev;
int len;
if (prologue)
@@ -6460,6 +6459,7 @@ reposition_prologue_and_epilogue_notes (f)
}
else if ((len -= contains (insn, prologue)) == 0)
{
+ rtx next;
/* Find the prologue-end note if we haven't already, and
move it to just after the last prologue insn. */
if (note == 0)
@@ -6471,17 +6471,13 @@ reposition_prologue_and_epilogue_notes (f)
}
next = NEXT_INSN (note);
- prev = PREV_INSN (note);
- if (prev)
- NEXT_INSN (prev) = next;
- if (next)
- PREV_INSN (next) = prev;
/* Whether or not we can depend on BLOCK_HEAD,
attempt to keep it up-to-date. */
if (BLOCK_HEAD (0) == note)
BLOCK_HEAD (0) = next;
+ remove_insn (note);
add_insn_after (note, insn);
}
}
@@ -6514,12 +6510,6 @@ reposition_prologue_and_epilogue_notes (f)
&& NOTE_LINE_NUMBER (note) == NOTE_INSN_EPILOGUE_BEG)
break;
}
- next = NEXT_INSN (note);
- prev = PREV_INSN (note);
- if (prev)
- NEXT_INSN (prev) = next;
- if (next)
- PREV_INSN (next) = prev;
/* Whether or not we can depend on BLOCK_HEAD,
attempt to keep it up-to-date. */
@@ -6527,6 +6517,7 @@ reposition_prologue_and_epilogue_notes (f)
&& BLOCK_HEAD (n_basic_blocks-1) == insn)
BLOCK_HEAD (n_basic_blocks-1) = note;
+ remove_insn (note);
add_insn_before (note, insn);
}
}