re PR middle-end/56461 (GCC is leaking lots of memory)
authorJakub Jelinek <jakub@gcc.gnu.org>
Wed, 27 Feb 2013 21:33:20 +0000 (22:33 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 27 Feb 2013 21:33:20 +0000 (22:33 +0100)
PR middle-end/56461
* ipa-reference.c (propagate): Free node_info even for alias nodes.

From-SVN: r196319

gcc/ChangeLog
gcc/ipa-reference.c

index 4ebe5039cd24adb8fbf42fb68b9eae708aec3b77..0ef9eb7068b0a5777d2a932cb02027eeca675dc9 100644 (file)
@@ -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>
 
index 98c2056839ca70d87fef86d0a32228316525d538..f3c483f67f901516a4b2be65f4cc3af6fde497ba 100644 (file)
@@ -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;