Comments
Patch
===================================================================
@@ -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))
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.