On 05/11/2012 08:17 AM, Richard Earnshaw wrote:
On 10/05/12 20:58, Vladimir Makarov wrote:
The following patch is for PR53125. The PR is described on
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53125.
The patch improves the compilation speed by 35% for the case.
The patch was successfully bootstrapped on x86-64.
Committed as rev. 187373.
2012-05-10 Vladimir Makarov<vmaka...@redhat.com>
PR rtl-optimization/53125
* ira.c (ira): Call find_moveable_pseudos and
move_unallocated_pseudos if only ira_conflicts_p is true.
ENOPATCH?
Sorry for ommitting the patch. I added it to the attachment.
Index: ira.c
===================================================================
--- ira.c (revision 187372)
+++ ira.c (working copy)
@@ -4125,7 +4125,12 @@ ira (FILE *f)
}
allocated_reg_info_size = max_reg_num ();
- find_moveable_pseudos ();
+
+ /* It is not worth to do such improvement when we use a simple
+ allocation because of -O0 usage or because the function is too
+ big. */
+ if (ira_conflicts_p)
+ find_moveable_pseudos ();
max_regno_before_ira = max_reg_num ();
ira_setup_eliminable_regset ();
@@ -4234,7 +4239,10 @@ ira (FILE *f)
max_regno * sizeof (struct ira_spilled_reg_stack_slot));
}
allocate_initial_values (reg_equivs);
- move_unallocated_pseudos ();
+
+ /* See comment for find_moveable_pseudos call. */
+ if (ira_conflicts_p)
+ move_unallocated_pseudos ();
}
static void