aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2012-01-02 14:34:52 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2012-01-02 14:34:52 +0100
commit9f929ce61f62c3dd84bb773b056652cadeebdec5 (patch)
treed1ece90b5bbab91b3a9312218c7fcb410d53a0b8
parentce23293b0a4416b1c0770b2ad151ac4b23df4aca (diff)
downloadgcc-9f929ce61f62c3dd84bb773b056652cadeebdec5.zip
gcc-9f929ce61f62c3dd84bb773b056652cadeebdec5.tar.gz
gcc-9f929ce61f62c3dd84bb773b056652cadeebdec5.tar.bz2
passes.c (register_one_dump_file): Free full_name.
* passes.c (register_one_dump_file): Free full_name. * reload1.c (reload): Don't allocate reg_max_ref_width here. (calculate_elim_costs_all_insns): Free offsets_at and offsets_known_at at the end and clear the pointers. From-SVN: r182800
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/passes.c3
-rw-r--r--gcc/reload1.c7
3 files changed, 16 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e86e8cd..5b0d4a6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2012-01-02 Jakub Jelinek <jakub@redhat.com>
+
+ * passes.c (register_one_dump_file): Free full_name.
+
+ * reload1.c (reload): Don't allocate reg_max_ref_width
+ here.
+ (calculate_elim_costs_all_insns): Free offsets_at and
+ offsets_known_at at the end and clear the pointers.
+
2012-01-02 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.opt (-mbranch-cost): Fix double definition of
diff --git a/gcc/passes.c b/gcc/passes.c
index e21971c..a786881 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -1,7 +1,7 @@
/* Top level of GCC compilers (cc1, cc1plus, etc.)
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011 Free Software Foundation, Inc.
+ 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -414,6 +414,7 @@ register_one_dump_file (struct opt_pass *pass)
set_pass_for_id (id, pass);
full_name = concat (prefix, pass->name, num, NULL);
register_pass_name (pass, full_name);
+ free (CONST_CAST (char *, full_name));
}
/* Recursive worker function for register_dump_files. */
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 7852566..883ddd7 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1,7 +1,7 @@
/* Reload pseudo regs into hard regs for insns that require hard regs.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011 Free Software Foundation, Inc.
+ 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -768,7 +768,6 @@ reload (rtx first, int global)
be substituted eventually by altering the REG-rtx's. */
grow_reg_equivs ();
- reg_max_ref_width = XCNEWVEC (unsigned int, max_regno);
reg_old_renumber = XCNEWVEC (short, max_regno);
memcpy (reg_old_renumber, reg_renumber, max_regno * sizeof (short));
pseudo_forbidden_regs = XNEWVEC (HARD_REG_SET, max_regno);
@@ -1688,6 +1687,10 @@ calculate_elim_costs_all_insns (void)
}
free (reg_equiv_init_cost);
+ free (offsets_known_at);
+ free (offsets_at);
+ offsets_at = NULL;
+ offsets_known_at = NULL;
}
/* Comparison function for qsort to decide which of two reloads