diff options
author | Dave Brolley <brolley@cygnus.com> | 1999-01-29 15:25:17 +0000 |
---|---|---|
committer | Dave Brolley <brolley@gcc.gnu.org> | 1999-01-29 10:25:17 -0500 |
commit | 89e99eea8015548093218f652c9d8a17e78542a3 (patch) | |
tree | 8692386860ab7ebbe81ec29448463ae26a6f5977 /gcc/function.c | |
parent | 061ac426189161b669a2a0b6e67fab19e7fde25d (diff) | |
download | gcc-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.c | 15 |
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); } } |