aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadedge.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-09-08 18:42:21 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-09-08 16:42:21 +0000
commit3462aa02a699dc716bd366fee8fc1c85f7f94541 (patch)
tree6aaf6ed20bc90f69bf381f4674ecd79f8abee69c /gcc/tree-ssa-threadedge.c
parent26e5b0fd2818c746fcd016bd1b6fa434204a5d72 (diff)
downloadgcc-3462aa02a699dc716bd366fee8fc1c85f7f94541.zip
gcc-3462aa02a699dc716bd366fee8fc1c85f7f94541.tar.gz
gcc-3462aa02a699dc716bd366fee8fc1c85f7f94541.tar.bz2
devirt-11.C: Update template.
* testsuite/g++.dg/ipa/devirt-11.C: Update template. * testsuite/g++.dg/ipa/devirt-16.C: New testcase. * testsuite/g++.dg/ipa/devirt-17.C: New testcase. * testsuite/g++.dg/ipa/devirt-18.C: New testcase. * cgraphunit.c (walk_polymorphic_call_targets): Permit 0 possible targets and devirtualize to BUILT_IN_UNREACHABLE. * timevar.def (TV_IPA_UNREACHABLE): New timevar. * ipa.c (walk_polymorphic_call_targets): New function. (symtab_remove_unreachable_nodes): Use it; do not keep all virtual functions; use the new timevar. * ipa-devirt.c (maybe_record_node): Do not insert static nodes that was removed from the program. (record_binfo): If BINFO corresponds to an anonymous namespace, we may not consider it in the walk when its vtable is dead. (possible_polymorphic_call_targets_1): Pass anonymous flag to record_binfo. (devirt_variable_node_removal_hook): New function. (possible_polymorphic_call_targets): Also register devirt_variable_node_removal_hook. (ipa_devirt): Do not do non-speculative devirtualization. (gate_ipa_devirt): One execute if devirtualizing speculatively. From-SVN: r202368
Diffstat (limited to 'gcc/tree-ssa-threadedge.c')
0 files changed, 0 insertions, 0 deletions