* regrename.c (do_replace): Don't update notes.
authorBernd Schmidt <bernds@codesourcery.com>
Mon, 20 Jun 2011 10:29:46 +0000 (10:29 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Mon, 20 Jun 2011 10:29:46 +0000 (10:29 +0000)
From-SVN: r175203

gcc/ChangeLog
gcc/regrename.c

index c971faf5c76ce22e6847ec9acffae040a3512a64..89c5f65c372c7cd81891ea76afc6aeb465abd7cb 100644 (file)
@@ -1,3 +1,7 @@
+2011-06-20  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * regrename.c (do_replace): Don't update notes.
+
 2011-06-20  Alan Modra  <amodra@gmail.com>
 
        * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
index 77e23f8c2abcb6559ef46f41554805471eca7e51..f313d084ee34d91cef46bf9fba6675e75499f94c 100644 (file)
@@ -432,7 +432,6 @@ do_replace (struct du_head *head, int reg)
 {
   struct du_chain *chain;
   unsigned int base_regno = head->regno;
-  bool found_note = false;
 
   gcc_assert (! DEBUG_INSN_P (head->first->insn));
 
@@ -446,46 +445,15 @@ do_replace (struct du_head *head, int reg)
        INSN_VAR_LOCATION_LOC (chain->insn) = gen_rtx_UNKNOWN_VAR_LOC ();
       else
        {
-         rtx note;
-
          *chain->loc = gen_raw_REG (GET_MODE (*chain->loc), reg);
          if (regno >= FIRST_PSEUDO_REGISTER)
            ORIGINAL_REGNO (*chain->loc) = regno;
          REG_ATTRS (*chain->loc) = attr;
          REG_POINTER (*chain->loc) = reg_ptr;
-
-         for (note = REG_NOTES (chain->insn); note; note = XEXP (note, 1))
-           {
-             enum reg_note kind = REG_NOTE_KIND (note);
-             if (kind == REG_DEAD || kind == REG_UNUSED)
-               {
-                 rtx reg = XEXP (note, 0);
-                 gcc_assert (HARD_REGISTER_P (reg));
-
-                 if (REGNO (reg) == base_regno)
-                   {
-                     found_note = true;
-                     if (kind == REG_DEAD
-                         && reg_set_p (*chain->loc, chain->insn))
-                       remove_note (chain->insn, note);
-                     else
-                       XEXP (note, 0) = *chain->loc;
-                     break;
-                   }
-               }
-           }
        }
 
       df_insn_rescan (chain->insn);
     }
-  if (!found_note)
-    {
-      /* If the chain's first insn is the same as the last, we should have
-        found a REG_UNUSED note.  */
-      gcc_assert (head->first->insn != head->last->insn);
-      if (!reg_set_p (*head->last->loc, head->last->insn))
-       add_reg_note (head->last->insn, REG_DEAD, *head->last->loc);
-    }
 }