aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-10-02 04:45:44 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2014-10-02 04:45:44 +0000
commit67a1b94ce37b06256c3e5f1c482dc362bfb96aca (patch)
tree91aae0c45a18d47eee745c1fff31111ffe05564d /gcc/ipa.c
parentfef32cf89f7fe0c8864443dca942c6e34a204976 (diff)
downloadgcc-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