OSDN Git Service

2012-02-02 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 Feb 2012 19:45:04 +0000 (19:45 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 Feb 2012 19:45:04 +0000 (19:45 +0000)
PR rtl-optimization/49800
* haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
(sched_finish): Call regstat_free_n_sets_and_refs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183843 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/haifa-sched.c

index 03f897f..2054898 100644 (file)
@@ -1,3 +1,9 @@
+2012-02-02  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/49800
+       * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
+       (sched_finish): Call regstat_free_n_sets_and_refs.
+
 2012-02-02  Jia Liu  <proljc@gmail.com>
 
        * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
index 4e1909a..d7d0b38 100644 (file)
@@ -4835,6 +4835,10 @@ sched_init (void)
     {
       int i, max_regno = max_reg_num ();
 
+      if (sched_dump != NULL)
+       /* We need info about pseudos for rtl dumps about pseudo
+          classes and costs.  */
+       regstat_init_n_sets_and_refs ();
       ira_set_pseudo_classes (sched_verbose ? sched_dump : NULL);
       sched_regno_pressure_class
        = (enum reg_class *) xmalloc (max_regno * sizeof (enum reg_class));
@@ -4946,6 +4950,8 @@ sched_finish (void)
   haifa_finish_h_i_d ();
   if (sched_pressure_p)
     {
+      if (regstat_n_sets_and_refs != NULL)
+       regstat_free_n_sets_and_refs ();
       free (sched_regno_pressure_class);
       BITMAP_FREE (region_ref_regs);
       BITMAP_FREE (saved_reg_live);