mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes as appropriate.
authorJeff Law <law@redhat.com>
Wed, 10 Jul 2002 18:26:59 +0000 (12:26 -0600)
committerJeff Law <law@gcc.gnu.org>
Wed, 10 Jul 2002 18:26:59 +0000 (12:26 -0600)
        * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
        as appropriate.

From-SVN: r55373

gcc/ChangeLog
gcc/config/mn10200/mn10200.c

index db0924d..2db2b0c 100644 (file)
@@ -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.
 
index e9f34b8..66ee9ad 100644 (file)
@@ -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));
+  
     }
 }