diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5dfbc6f9c3d..7ec0d3135d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-08-01 Jan Hubicka + + * ipa.c (symtab_remove_unreachable_nodes): Nodes in other partitions are + not needed. + 2013-08-01 Uros Bizjak * config/i386/i386.h (MAYBE_NON_Q_CLASS_P): New. diff --git a/gcc/ipa.c b/gcc/ipa.c index 243bf205e02..085454d02e1 100644 --- a/gcc/ipa.c +++ b/gcc/ipa.c @@ -239,6 +239,7 @@ symtab_remove_unreachable_nodes (bool before_inlining_p, FILE *file) node->used_as_abstract_origin = false; if (node->symbol.definition && !node->global.inlined_to + && !node->symbol.in_other_partition && (!cgraph_can_remove_if_no_direct_calls_and_refs_p (node) /* Keep around virtual functions for possible devirtualization. */ || (before_inlining_p