diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-10-28 14:07:47 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-10-28 14:07:47 -0500 |
commit | 5507b94b23cf2315842a3ad79d7ee24157da999c (patch) | |
tree | 041800691ed499adf1b217e75308f836a5dbaa89 | |
parent | f63f07520b6a53ac61ba1e6335cdb8f4b6bf155c (diff) | |
download | gcc-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.c | 8 |
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; |