aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-10-26 05:53:07 +0000
committerRichard Stallman <rms@gnu.org>1992-10-26 05:53:07 +0000
commitb4ff474ce0342180dbd5e184966feb44c5dd609c (patch)
treed7c7d865508672305d3aa6341a153d34b1c355a5
parente12f90a92423d76951cbe7012b19532d50d26cd6 (diff)
downloadgcc-b4ff474ce0342180dbd5e184966feb44c5dd609c.zip
gcc-b4ff474ce0342180dbd5e184966feb44c5dd609c.tar.gz
gcc-b4ff474ce0342180dbd5e184966feb44c5dd609c.tar.bz2
(fixup_var_refs_insns): Don't call delete_insn if not -O.
Make a NOTE_INSN_DELETED instead. From-SVN: r2609
-rw-r--r--gcc/function.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 1ff2778..9f02b0d 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1014,7 +1014,11 @@ fixup_var_refs_insns (var, promoted_mode, unsignedp, insn, toplevel)
&& SET_DEST (PATTERN (insn)) == var
&& rtx_equal_p (SET_SRC (PATTERN (insn)), var))
{
- next = delete_insn (insn);
+ /* In unoptimized compilation, we shouldn't call delete_insn
+ except in jump.c doing warnings. */
+ PUT_CODE (insn, NOTE);
+ NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
+ NOTE_SOURCE_FILE (insn) = 0;
if (insn == last_parm_insn)
last_parm_insn = PREV_INSN (next);
}