* ipa-devirt.c (polymorphic_call_target_d): Add SPECULATIVE; reorder
commit840d898c7e378446092d36f18a77a433401353a0
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Sep 2014 18:57:44 +0000 (25 18:57 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Sep 2014 18:57:44 +0000 (25 18:57 +0000)
tree633107f19b3832c67e16400b92999b85d3950f0b
parent19228d4264b1dfd5443e4e79a5a25362b7e9cf60
* ipa-devirt.c (polymorphic_call_target_d): Add SPECULATIVE; reorder
for better storage.
(polymorphic_call_target_hasher::hash): Hash SPECULATIVE.
(possible_polymorphic_call_targets): Instead of computing both
speculative and non-speculative answers, do just one at a time.
Replace NONSPECULATIVE_TARGETSP parameter with SPECULATIVE flag.
(dump_targets): Break out from ...
(dump_possible_polymorphic_call_targets): ... here; dump both speculative
and non-speculative lists.
(ipa_devirt): Update for new possible_polymorphic_call_targets API.
* ipa-utils.h (possible_polymorphic_call_targets): Update.

* testsuite/g++.dg/ipa/devirt-34.C: Update template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215614 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ipa-devirt.c
gcc/ipa-utils.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/devirt-34.C