This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc4.7 backport committed (PR53700)


The following patch was backported to gcc4.7. The patch solves PR53700.

It was successfully bootstrapped on x86/x86-64.

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.


Index: ira-color.c
===================================================================
--- ira-color.c	(revision 188736)
+++ ira-color.c	(working copy)
@@ -821,7 +821,6 @@ setup_left_conflict_sizes_p (ira_allocno
   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);
@@ -838,12 +837,10 @@ setup_left_conflict_sizes_p (ira_allocno
 
 	  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))

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]