OSDN Git Service

Latest updates from FSF 4.7 branch
[pf3gnuchains/gcc-fork.git] / gcc / ira-color.c
index 45f5244..a01d050 100644 (file)
@@ -821,6 +821,7 @@ 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++;
+  curr_allocno_process++;
   for (k = 0; k < nobj; k++)
     {
       ira_object_t obj = ALLOCNO_OBJECT (a, k);
@@ -837,10 +838,12 @@ 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->last_process == curr_allocno_process
              || ! 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))