aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-10-28 14:07:47 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-10-28 14:07:47 -0500
commit5507b94b23cf2315842a3ad79d7ee24157da999c (patch)
tree041800691ed499adf1b217e75308f836a5dbaa89
parentf63f07520b6a53ac61ba1e6335cdb8f4b6bf155c (diff)
downloadgcc-5507b94b23cf2315842a3ad79d7ee24157da999c.zip
gcc-5507b94b23cf2315842a3ad79d7ee24157da999c.tar.gz
gcc-5507b94b23cf2315842a3ad79d7ee24157da999c.tar.bz2
(delete_output_reload): Don't use delete_insn when deleting all stores
into a replaced pseudo. From-SVN: r13052
-rw-r--r--gcc/reload1.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 48359ba..a5ab862 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -7039,7 +7039,13 @@ delete_output_reload (insn, j, output_reload_insn)
rtx set = single_set (i2);
if (set != 0 && SET_DEST (set) == reg)
- delete_insn (i2);
+ {
+ /* This might be a basic block head,
+ thus don't use delete_insn. */
+ PUT_CODE (i2, NOTE);
+ NOTE_SOURCE_FILE (i2) = 0;
+ NOTE_LINE_NUMBER (i2) = NOTE_INSN_DELETED;
+ }
if (GET_CODE (i2) == CODE_LABEL
|| GET_CODE (i2) == JUMP_INSN)
break;