aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog15
-rw-r--r--gcc/ipa-reference.c8
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;