Patchwork gcc4.7 backport committed (PR53700)

login
register
mail settings
Submitter Vladimir Makarov
Date June 18, 2012, 6:34 p.m.
Message ID <4FDF74B1.9050603@redhat.com>
Download mbox | patch
Permalink /patch/165575/
State New
Headers show

Comments

Vladimir Makarov - June 18, 2012, 6:34 p.m.
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.

Patch

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))