]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
regrename.c (regrename_optimize): Fix dumping.
authorSteven Bosscher <steven@gcc.gnu.org>
Fri, 9 Jan 2009 21:34:22 +0000 (21:34 +0000)
committerSteven Bosscher <steven@gcc.gnu.org>
Fri, 9 Jan 2009 21:34:22 +0000 (21:34 +0000)
* regrename.c (regrename_optimize): Fix dumping.
(find_oldest_value_reg): Preserve REG_POINTER.
(copy_hardreg_forward_1): Likewise.
process_init_element callers.

From-SVN: r143235

gcc/ChangeLog
gcc/regrename.c

index 2fade47ba200e93115343baf69e6c6be2f38ae33..36c5e37a823d6e6a39706774a409d7235e24438e 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 83fd605fcb46e1ce8a186e5170f33f4efa65a658..2da42c38ecb5dc0f0cddac6790f31061278c881f 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",