]> gcc.gnu.org Git - gcc.git/commit - gcc/ipa-prop.c
ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...
authorJan Hubicka <jh@suse.cz>
Tue, 4 Feb 2014 05:40:21 +0000 (06:40 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 4 Feb 2014 05:40:21 +0000 (05:40 +0000)
commit5bccb77a773b916d4824688e9138921f93c35039
treec78cc4b81e9fffb8c0810f34976aecfcf20b5c3d
parent9de2f554ec689296676dee4f4482e059438a5991
ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...

* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
lookup via vtable pointer; check for type consistency
and turn inconsitent facts into UNREACHABLE.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
* gimple-fold.c (gimple_get_virt_method_for_vtable):
Do not ICE on type inconsistent querries; return UNREACHABLE
instead.

* testsuite/g++.dg/ipa/devirt-25.C: New testcase.

From-SVN: r207448
gcc/ChangeLog
gcc/ipa-cp.c
gcc/ipa-devirt.c
gcc/ipa-prop.c
gcc/ipa-utils.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ipa/devirt-22.C [new file with mode: 0644]
This page took 0.055111 seconds and 5 git commands to generate.