* 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
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| 20090113-1.C | Loading commit data... | |
| devirt-1.C | Loading commit data... | |
| devirt-10.C | Loading commit data... | |
| devirt-11.C | Loading commit data... | |
| devirt-12.C | Loading commit data... | |
| devirt-13.C | Loading commit data... | |
| devirt-14.C | Loading commit data... | |
| devirt-15.C | Loading commit data... | |
| devirt-16.C | Loading commit data... | |
| devirt-17.C | Loading commit data... | |
| devirt-18.C | Loading commit data... | |
| devirt-2.C | Loading commit data... | |
| devirt-3.C | Loading commit data... | |
| devirt-4.C | Loading commit data... | |
| devirt-5.C | Loading commit data... | |
| devirt-6.C | Loading commit data... | |
| devirt-7.C | Loading commit data... | |
| devirt-9.C | Loading commit data... | |
| devirt-c-1.C | Loading commit data... | |
| devirt-c-2.C | Loading commit data... | |
| devirt-c-3.C | Loading commit data... | |
| devirt-c-4.C | Loading commit data... | |
| devirt-c-5.C | Loading commit data... | |
| devirt-c-6.C | Loading commit data... | |
| devirt-c-7.C | Loading commit data... | |
| devirt-c-8.C | Loading commit data... | |
| devirt-d-1.C | Loading commit data... | |
| devirt-g-1.C | Loading commit data... | |
| iinline-1.C | Loading commit data... | |
| iinline-2.C | Loading commit data... | |
| iinline-3.C | Loading commit data... | |
| imm-devirt-1.C | Loading commit data... | |
| imm-devirt-2.C | Loading commit data... | |
| inline-1.C | Loading commit data... | |
| inline-2.C | Loading commit data... | |
| inline-3.C | Loading commit data... | |
| ivinline-1.C | Loading commit data... | |
| ivinline-2.C | Loading commit data... | |
| ivinline-3.C | Loading commit data... | |
| ivinline-4.C | Loading commit data... | |
| ivinline-5.C | Loading commit data... | |
| ivinline-7.C | Loading commit data... | |
| ivinline-8.C | Loading commit data... | |
| ivinline-9.C | Loading commit data... | |
| pr43695.C | Loading commit data... | |
| pr43812.C | Loading commit data... | |
| pr44372.C | Loading commit data... | |
| pr45565.C | Loading commit data... | |
| pr45572-1.C | Loading commit data... | |
| pr45572-2.C | Loading commit data... | |
| pr45875.C | Loading commit data... | |
| pr46053.C | Loading commit data... | |
| pr46287-1.C | Loading commit data... | |
| pr46287-2.C | Loading commit data... | |
| pr46287-3.C | Loading commit data... | |
| pr46984.C | Loading commit data... | |
| pr50605.C | Loading commit data... | |
| pr51759.C | Loading commit data... | |
| pr51929.C | Loading commit data... | |
| pr52939.C | Loading commit data... | |
| pr55264.C | Loading commit data... | |
| pr56310.C | Loading commit data... | |
| pr57670.C | Loading commit data... | |
| remref-1.C | Loading commit data... | |
| remref-2.C | Loading commit data... | |
| type-inheritance-1.C | Loading commit data... |