aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2002-07-10 12:26:59 -0600
committerJeff Law <law@gcc.gnu.org>2002-07-10 12:26:59 -0600
commit7a46491380a94b817c90052503ff98661a0b64da (patch)
treeccc42016c524fb665f06982bc2055368419109ff /gcc
parent15c7fb9cfd93a55e8140cb70434a1c9fce2539d4 (diff)
downloadgcc-7a46491380a94b817c90052503ff98661a0b64da.zip
gcc-7a46491380a94b817c90052503ff98661a0b64da.tar.gz
gcc-7a46491380a94b817c90052503ff98661a0b64da.tar.bz2
mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes as appropriate.
* mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes as appropriate. From-SVN: r55373
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/mn10200/mn10200.c20
2 files changed, 18 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index db0924d..2db2b0c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -4,6 +4,9 @@ Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
2002-07-10 Jeffrey A Law <law@redhat.com>
+ * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
+ as appropriate.
+
* mn10200.c (expand_epilogue): Fix test to determine which scratch
register to use.
diff --git a/gcc/config/mn10200/mn10200.c b/gcc/config/mn10200/mn10200.c
index e9f34b8..66ee9ad 100644
--- a/gcc/config/mn10200/mn10200.c
+++ b/gcc/config/mn10200/mn10200.c
@@ -690,13 +690,23 @@ expand_prologue ()
}
/* Now put the static chain back where the rest of the function
- expects to find it. */
+ expects to find it.
+
+ Note that we may eliminate all references to this later, so we
+ mark the static chain as maybe dead. */
if (current_function_needs_context)
{
- emit_move_insn (gen_rtx_REG (PSImode, STATIC_CHAIN_REGNUM),
- gen_rtx (MEM, PSImode,
- gen_rtx_PLUS (PSImode, stack_pointer_rtx,
- GEN_INT (size))));
+ rtx insn;
+
+ insn = emit_move_insn (gen_rtx_REG (PSImode, STATIC_CHAIN_REGNUM),
+ gen_rtx (MEM, PSImode,
+ gen_rtx_PLUS (PSImode,
+ stack_pointer_rtx,
+ GEN_INT (size))));
+ REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD,
+ const0_rtx,
+ REG_NOTES (insn));
+
}
}