OSDN Git Service

2012-06-18 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Jun 2012 18:34:01 +0000 (18:34 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Jun 2012 18:34:01 +0000 (18:34 +0000)
PR rtl-optimization/53700

Backport from mainline
2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>

* ira-color.c (setup_left_conflict_sizes_p): Process all
conflicting objects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@188750 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ira-color.c

index 51b2b13..14312f8 100644 (file)
@@ -1,6 +1,16 @@
+2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/53700
+
+       Backport from mainline
+       2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-color.c (setup_left_conflict_sizes_p): Process all
+       conflicting objects.
+
 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
 
 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
 
-       Backport from mainline 
+       Backport from mainline
        2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/52908
        2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/52908
index a01d050..45f5244 100644 (file)
@@ -821,7 +821,6 @@ setup_left_conflict_sizes_p (ira_allocno_t a)
   node_preorder_num = node->preorder_num;
   COPY_HARD_REG_SET (node_set, node->hard_regs->set);
   node_check_tick++;
   node_preorder_num = node->preorder_num;
   COPY_HARD_REG_SET (node_set, node->hard_regs->set);
   node_check_tick++;
-  curr_allocno_process++;
   for (k = 0; k < nobj; k++)
     {
       ira_object_t obj = ALLOCNO_OBJECT (a, k);
   for (k = 0; k < nobj; k++)
     {
       ira_object_t obj = ALLOCNO_OBJECT (a, k);
@@ -838,12 +837,10 @@ setup_left_conflict_sizes_p (ira_allocno_t a)
 
          conflict_data = ALLOCNO_COLOR_DATA (conflict_a);
          if (! ALLOCNO_COLOR_DATA (conflict_a)->in_graph_p
 
          conflict_data = ALLOCNO_COLOR_DATA (conflict_a);
          if (! ALLOCNO_COLOR_DATA (conflict_a)->in_graph_p
-             || conflict_data->last_process == curr_allocno_process
              || ! hard_reg_set_intersect_p (profitable_hard_regs,
                                             conflict_data
                                             ->profitable_hard_regs))
            continue;
              || ! hard_reg_set_intersect_p (profitable_hard_regs,
                                             conflict_data
                                             ->profitable_hard_regs))
            continue;
-         conflict_data->last_process = curr_allocno_process;
          conflict_node = conflict_data->hard_regs_node;
          COPY_HARD_REG_SET (conflict_node_set, conflict_node->hard_regs->set);
          if (hard_reg_set_subset_p (node_set, conflict_node_set))
          conflict_node = conflict_data->hard_regs_node;
          COPY_HARD_REG_SET (conflict_node_set, conflict_node->hard_regs->set);
          if (hard_reg_set_subset_p (node_set, conflict_node_set))