Commit 21a9ce6e by Jan Hubicka Committed by Jan Hubicka

ipa-devirt.c (possible_polymorphic_call_targets): Remove forgotten debug output;…

ipa-devirt.c (possible_polymorphic_call_targets): Remove forgotten debug output; canonicalize querries more wtih LTO.


	* ipa-devirt.c (possible_polymorphic_call_targets): Remove
	forgotten debug output; canonicalize querries more wtih LTO.

From-SVN: r215577
parent 00d31d5e
2014-09-24 Jan Hubicka <hubicka@ucw.cz>
* ipa-devirt.c (possible_polymorphic_call_targets): Remove
forgotten debug output; canonicalize querries more wtih LTO.
2014-09-24 Jan Hubicka <hubicka@ucw.cz>
* cgraph.h (class ipa_polymorphic_call_context): Move here from
ipa-utils.h; add stream_int and stream_out methods.
(cgraph_indirect_call_info): Remove SPECILATIVE_OFFSET,
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment