From: hubicka Date: Thu, 25 Sep 2014 03:37:31 +0000 (+0000) Subject: * ipa-devirt.c (possible_polymorphic_call_targets): Remove X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a8dbf38bcd58e97e50d0d5caf34fae1145bc636b;p=thirdparty%2Fgcc.git * ipa-devirt.c (possible_polymorphic_call_targets): Remove forgotten debug output; canonicalize querries more wtih LTO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215577 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 220027e8a308..14aaf2ccf68a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-09-24 Jan Hubicka + + * ipa-devirt.c (possible_polymorphic_call_targets): Remove + forgotten debug output; canonicalize querries more wtih LTO. + 2014-09-24 Jan Hubicka * cgraph.h (class ipa_polymorphic_call_context): Move here from diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c index bc94a79d0380..0b6e12bef954 100644 --- a/gcc/ipa-devirt.c +++ b/gcc/ipa-devirt.c @@ -3726,7 +3726,6 @@ possible_polymorphic_call_targets (tree otr_type, if ((context.outer_type || context.speculative_outer_type) && !context.restrict_to_inner_class (otr_type)) { - fprintf (stderr, "Invalid\n"); if (completep) *completep = true; if (cache_token) @@ -3771,6 +3770,16 @@ possible_polymorphic_call_targets (tree otr_type, } } + if (in_lto_p) + { + if (context.outer_type != otr_type) + context.outer_type + = get_odr_type (context.outer_type, true)->type; + if (context.speculative_outer_type) + context.speculative_outer_type + = get_odr_type (context.speculative_outer_type, true)->type; + } + /* Lookup cached answer. */ key.type = type; key.otr_token = otr_token;