This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r213739 - in /trunk/gcc: ChangeLog ipa-devirt.c...
- From: hubicka at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 07 Aug 2014 20:58:17 -0000
- Subject: r213739 - in /trunk/gcc: ChangeLog ipa-devirt.c...
Author: hubicka
Date: Thu Aug 7 20:58:17 2014
New Revision: 213739
URL: https://gcc.gnu.org/viewcvs?rev=213739&root=gcc&view=rev
Log:
* ipa-devirt.c: Include gimple-pretty-print.h
(referenced_from_vtable_p): Exclude DECL_EXTERNAL from
further tests.
(decl_maybe_in_construction_p): Fix conditional on cdtor check
(get_polymorphic_call_info): Fix return value
(type_change_info): New sturcture based on ipa-prop
variant.
(noncall_stmt_may_be_vtbl_ptr_store): New predicate
based on ipa-prop variant.
(extr_type_from_vtbl_ptr_store): New function
based on ipa-prop variant.
(record_known_type): New function.
(check_stmt_for_type_change): New function.
(get_dynamic_type): New function.
* ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type.
* tree-ssa-pre.c: ipa-utils.h
(eliminate_dom_walker::before_dom_children): Use ipa-devirt
machinery; sanity check with ipa-prop devirtualization.
* trans-mem.c (ipa_tm_insert_gettmclone_call): Clear
polymorphic flag.
* g++.dg/ipa/devirt-35.C: New testcase.
* g++.dg/ipa/devirt-36.C: New testcase.
Added:
trunk/gcc/testsuite/g++.dg/ipa/devirt-35.C
trunk/gcc/testsuite/g++.dg/ipa/devirt-36.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-devirt.c
trunk/gcc/ipa-prop.c
trunk/gcc/ipa-utils.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/trans-mem.c
trunk/gcc/tree-ssa-pre.c