ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into account anc_offset...
authorMartin Jambor <mjambor@suse.cz>
Tue, 19 Apr 2011 16:15:08 +0000 (18:15 +0200)
committerMartin Jambor <jamborm@gcc.gnu.org>
Tue, 19 Apr 2011 16:15:08 +0000 (18:15 +0200)
commit405914731a9a06617eadb4dc604d0fe5e901fc76
treeb1d1a05c105bd85d01b847d720bd2f7aed85afcc
parent7c589800e2ecee0587396ef30140e1b541f229a2
ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into account anc_offset and otr_type from the indirect edge info.

2011-04-19  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
account anc_offset and otr_type from the indirect edge info.
* ipa-prop.c (get_ancestor_addr_info): New function.
(compute_complex_ancestor_jump_func): Assignment analysis moved to
get_ancestor_addr_info, call it.
(ipa_note_param_call): Do not initialize information about polymorphic
calls, return the indirect call graph edge.  Remove the last
parameter, adjust all callers.
(ipa_analyze_virtual_call_uses): Process also calls to ancestors of
parameters.  Initialize polymorphic information in the indirect edge.

* testsuite/g++.dg/ipa/devirt-7.C: New test.

From-SVN: r172716
gcc/ChangeLog
gcc/ipa-cp.c
gcc/ipa-prop.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/devirt-7.C [new file with mode: 0644]