OSDN Git Service

2007-10-09 H.J. Lu <hongjiu.lu@intel.com>
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Oct 2007 16:17:53 +0000 (16:17 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Oct 2007 16:17:53 +0000 (16:17 +0000)
* ra-conflict.c (record_one_conflict_between_regnos): Revert
the last change.
(set_conflicts_for_earlyclobber): Likewise.
(global_conflicts): Likewise.

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

gcc/ChangeLog
gcc/ra-conflict.c

index a2ed483..2c65ee6 100644 (file)
@@ -1,3 +1,10 @@
+2007-10-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ra-conflict.c (record_one_conflict_between_regnos): Revert
+       the last change.
+       (set_conflicts_for_earlyclobber): Likewise.
+       (global_conflicts): Likewise.
+
 2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
 
        * longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
index a184443..27a9fcc 100644 (file)
@@ -196,7 +196,7 @@ record_one_conflict_between_regnos (enum machine_mode mode1, int r1,
   int allocno2 = reg_allocno[r2];
 
   if (dump_file)
-    fprintf (dump_file, "    rocbr adding %d<=>%d\n", r1, r2);
+    fprintf (dump_file, "  rocbr adding %d<=>%d\n", r1, r2);
 
   if (allocno1 >= 0 && allocno2 >= 0)
     set_conflict (allocno1, allocno2);
@@ -401,6 +401,9 @@ set_conflicts_for_earlyclobber (rtx insn)
                                                    recog_data.operand[use + 1]);
                }
        }
+
+  if (dump_file) 
+    fprintf (dump_file, "  finished early clobber conflicts.\n");
 }
 
 
@@ -980,7 +983,8 @@ global_conflicts (void)
                        set_renumbers_live (&renumbers_live, live_subregs, live_subregs_used, 
                                            allocnum, renumber);
                    }
-                 else
+                 
+                 else if (!sparseset_bit_p (allocnos_live, allocnum))
                    {
                      if (dump_file)
                        fprintf (dump_file, "    dying pseudo\n");
@@ -1067,8 +1071,6 @@ global_conflicts (void)
                 FIXME: We should consider either adding a new kind of
                 clobber, or adding a flag to the clobber distinguish
                 these two cases.  */
-             if (dump_file && VEC_length (df_ref_t, clobbers))
-               fprintf (dump_file, "  clobber conflicts\n");
              for (k = VEC_length (df_ref_t, clobbers) - 1; k >= 0; k--)
                {
                  struct df_ref *def = VEC_index (df_ref_t, clobbers, k);
@@ -1130,8 +1132,6 @@ global_conflicts (void)
              if (GET_CODE (PATTERN (insn)) == PARALLEL && multiple_sets (insn))
                { 
                  int j;
-                 if (dump_file)
-                   fprintf (dump_file, "  multiple sets\n");
                  for (j = VEC_length (df_ref_t, dying_regs) - 1; j >= 0; j--)
                    {
                      int used_in_output = 0;