cgraph.h (ipa_polymorphic_call_context): Turn bools into bitfields...
commit4081ada2c7ae718f509dc403f83a4a08f2a6fe4a
authorJan Hubicka <hubicka@ucw.cz>
Fri, 3 Oct 2014 05:42:47 +0000 (3 07:42 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 3 Oct 2014 05:42:47 +0000 (3 05:42 +0000)
treeb9737fb423d0d6d55ae7190b20d8a112e6ff3062
parent60d9e9fc19291ce72458f41cd7c4679e26251084
cgraph.h (ipa_polymorphic_call_context): Turn bools into bitfields...

* cgraph.h (ipa_polymorphic_call_context):
Turn bools into bitfields; add DYNAMIC; make MAKE_SPECULATIVE
private, add POSSIBLE_DYNAMIC_TYPE_CHANGE.
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::restrict_to_inner_class): Allow accesses
past end of dynamic types.
(ipa_polymorphic_call_context::stream_out,
speculative_outer_type): Stream dynamic flag.
(ipa_polymorphic_call_context::set_by_decl): Clear DYNAMIC.
(ipa_polymorphic_call_context::ipa_polymorphic_call_context):
Clear DYNAMIC.
(ipa_polymorphic_call_context::get_dynamic_type): Use DYNAMIC;
set it.
(ipa_polymorphic_call_context::combine_with): Propagate dynamic.
* ipa-prop.c (update_jump_functions_after_inlining,
try_make_edge_direct_virtual_call): Use possible_dynamic_type_change.

From-SVN: r215833
gcc/ChangeLog
gcc/cgraph.h
gcc/ipa-polymorphic-call.c
gcc/ipa-prop.c