summaryrefslogtreecommitdiff
path: root/gcc/haifa-sched.c
diff options
context:
space:
mode:
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2012-02-02 19:45:04 +0000
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>2012-02-02 19:45:04 +0000
commit169d9eaf8c2d0c0f34b48dc474facc1c53546385 (patch)
tree836eee446a39d2e312efb141929efa0cc6da43e0 /gcc/haifa-sched.c
parenta13b68f107504b1c7253eaca70c25f13ec206fd7 (diff)
downloadgcc-169d9eaf8c2d0c0f34b48dc474facc1c53546385.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183843 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r--gcc/haifa-sched.c6
1 files changed, 6 insertions, 0 deletions
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);