OSDN Git Service

* regrename.c (regrename_optimize): Fix dumping.
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Jan 2009 21:34:22 +0000 (21:34 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Jan 2009 21:34:22 +0000 (21:34 +0000)
(find_oldest_value_reg): Preserve REG_POINTER.
(copy_hardreg_forward_1): Likewise.
process_init_element callers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143235 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/regrename.c

index 2fade47..36c5e37 100644 (file)
@@ -1,3 +1,9 @@
+2009-01-09  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * regrename.c (regrename_optimize): Fix dumping.
+       (find_oldest_value_reg): Preserve REG_POINTER.
+       (copy_hardreg_forward_1): Likewise.
+
 2009-01-09  Diego Novillo  <dnovillo@google.com>
 
        * gimple.h (struct gimple_statement_base)<uid>: Document
index 83fd605..2da42c3 100644 (file)
@@ -340,12 +340,12 @@ regrename_optimize (void)
              continue;
            }
 
+         if (dump_file)
+           fprintf (dump_file, ", renamed as %s\n", reg_names[best_new_reg]);
+
          do_replace (this_du, best_new_reg);
          tick[best_new_reg] = ++this_tick;
          df_set_regs_ever_live (best_new_reg, true);
-
-         if (dump_file)
-           fprintf (dump_file, ", renamed as %s\n", reg_names[best_new_reg]);
        }
 
       obstack_free (&rename_obstack, first_obj);
@@ -1388,6 +1388,7 @@ find_oldest_value_reg (enum reg_class cl, rtx reg, struct value_data *vd)
        {
          ORIGINAL_REGNO (new_rtx) = ORIGINAL_REGNO (reg);
          REG_ATTRS (new_rtx) = REG_ATTRS (reg);
+         REG_POINTER (new_rtx) = REG_POINTER (reg);
          return new_rtx;
        }
     }
@@ -1686,6 +1687,7 @@ copyprop_hardreg_forward_1 (basic_block bb, struct value_data *vd)
                    {
                      ORIGINAL_REGNO (new_rtx) = ORIGINAL_REGNO (src);
                      REG_ATTRS (new_rtx) = REG_ATTRS (src);
+                     REG_POINTER (new_rtx) = REG_POINTER (src);
                      if (dump_file)
                        fprintf (dump_file,
                                 "insn %u: replaced reg %u with %u\n",