diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2013-02-27 22:33:20 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2013-02-27 22:33:20 +0100 |
commit | 97785e5285c9543de44858989f33f6609e0bc538 (patch) | |
tree | 9b8713ef2690631d9889ecae3e6a8fdebeea9de0 /gcc | |
parent | 140bec21b86df21fd9a0105dc5334ac45d172505 (diff) | |
download | gcc-97785e5285c9543de44858989f33f6609e0bc538.zip gcc-97785e5285c9543de44858989f33f6609e0bc538.tar.gz gcc-97785e5285c9543de44858989f33f6609e0bc538.tar.bz2 |
re PR middle-end/56461 (GCC is leaking lots of memory)
PR middle-end/56461
* ipa-reference.c (propagate): Free node_info even for alias nodes.
From-SVN: r196319
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/ipa-reference.c | 8 |
2 files changed, 13 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ebe503..0ef9eb7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,9 +1,14 @@ -2013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com> +2013-02-27 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/56461 + * ipa-reference.c (propagate): Free node_info even for alias nodes. + +2013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com> - * config/microblaze/microblaze.c (microblaze_emit_compare): - Use xor for EQ/NE comparisions - * config/microblaze/microblaze.md (cstoresf4): Add constraints - (cbranchsf4): Adjust operator to comparison_operator + * config/microblaze/microblaze.c (microblaze_emit_compare): + Use xor for EQ/NE comparisions. + * config/microblaze/microblaze.md (cstoresf4): Add constraints + (cbranchsf4): Adjust operator to comparison_operator. 2013-02-27 Jakub Jelinek <jakub@redhat.com> diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c index 98c2056..f3c483f 100644 --- a/gcc/ipa-reference.c +++ b/gcc/ipa-reference.c @@ -834,12 +834,10 @@ propagate (void) ipa_reference_global_vars_info_t node_g; ipa_reference_optimization_summary_t opt; - if (node->alias) - continue; - node_info = get_reference_vars_info (node); - if (cgraph_function_body_availability (node) > AVAIL_OVERWRITABLE - || (flags_from_decl_or_type (node->symbol.decl) & ECF_LEAF)) + if (!node->alias + && (cgraph_function_body_availability (node) > AVAIL_OVERWRITABLE + || (flags_from_decl_or_type (node->symbol.decl) & ECF_LEAF))) { node_g = &node_info->global; |