From 169d9eaf8c2d0c0f34b48dc474facc1c53546385 Mon Sep 17 00:00:00 2001 From: vmakarov Date: Thu, 2 Feb 2012 19:45:04 +0000 Subject: [PATCH] 2012-02-02 Vladimir Makarov 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 | 6 ++++++ gcc/haifa-sched.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 03f897f056f..20548986257 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-02-02 Vladimir Makarov + + 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 * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 4e1909a535f..d7d0b38ce1d 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -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); -- 2.11.4.GIT