diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-10-02 04:45:44 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-10-02 04:45:44 +0000 |
commit | 67a1b94ce37b06256c3e5f1c482dc362bfb96aca (patch) | |
tree | 91aae0c45a18d47eee745c1fff31111ffe05564d /gcc/ipa.c | |
parent | fef32cf89f7fe0c8864443dca942c6e34a204976 (diff) | |
download | gcc-67a1b94ce37b06256c3e5f1c482dc362bfb96aca.zip gcc-67a1b94ce37b06256c3e5f1c482dc362bfb96aca.tar.gz gcc-67a1b94ce37b06256c3e5f1c482dc362bfb96aca.tar.bz2 |
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::restrict_to_inner_class):
Rename EXPECTED_TYPE to OTR_TYPE; Validate speculation late;
use speculation_consistent_p to do so; Add CONSDER_BASES
and CONSIDER_PLACEMENT_NEW parameters.
(contains_type_p): Add CONSDER_PLACEMENT_NEW and CONSIDER_BASES;
short circuit obvious cases.
(ipa_polymorphic_call_context::dump): Improve formatting.
(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Use
combine_speculation_with to record speculations; Do not ICE when
object is located in pointer type decl; do not ICE for methods
of UNION_TYPE; do not record nonpolymorphic types.
(ipa_polymorphic_call_context::speculation_consistent_p): New method.
(ipa_polymorphic_call_context::combine_speculation_with): New method.
(ipa_polymorphic_call_context::combine_with): New method.
(ipa_polymorphic_call_context::make_speculative): Move here; use
combine speculation.
* cgraph.h (ipa_polymorphic_call_context): Update
restrict_to_inner_class prototype; add offset_by, make_speculative,
combine_with, useless_p, combine_speculation_with and
speculation_consistent_p methods.
(ipa_polymorphic_call_context::offset_by): New method.
(ipa_polymorphic_call_context::useless_p): New method.
From-SVN: r215790
Diffstat (limited to 'gcc/ipa.c')
0 files changed, 0 insertions, 0 deletions