http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56339



--- Comment #4 from Steven Bosscher <steven at gcc dot gnu.org> 2013-02-15 
10:20:52 UTC ---

Perhaps for regmove IRA classes should be set up unconditionally:



Index: regmove.c

===================================================================

--- regmove.c   (revision 196074)

+++ regmove.c   (working copy)

@@ -1234,8 +1234,9 @@ regmove_optimize (void)

   regstat_init_n_sets_and_refs ();

   regstat_compute_ri ();



-  if (flag_ira_loop_pressure)

-    ira_set_pseudo_classes (true, dump_file);

+  /* Set up register classes for pseudos, so that reg_preferred_class

+     returns a more useful result.  */

+  ira_set_pseudo_classes (true, dump_file);



   regno_src_regno = XNEWVEC (int, nregs);

   for (i = nregs; --i >= 0; )

@@ -1256,8 +1257,7 @@ regmove_optimize (void)

     }

   regstat_free_n_sets_and_refs ();

   regstat_free_ri ();

-  if (flag_ira_loop_pressure)

-    free_reg_info ();

+  free_reg_info ();

   return 0;

 }

Reply via email to