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

Reply via email to