PR ipa/59831 * g++.dg/ipa/devirt-24.C: New testcase. * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on -fno-devirtualize; Try to devirtualize by the knowledge of virtual table pointer given by aggregate propagation. * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise. ipa_print_node_jump_functions): Dump also offset that is relevant for polymorphic calls. (determine_known_aggregate_parts): Add arg_type parameter; use it instead of determining the type from pointer type. (ipa_compute_jump_functions_for_edge): Update call of determine_known_aggregate_parts. * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ... (gimple_get_virt_method_for_binfo): ... here; simplify using vtable_pointer_value_to_vtable. * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare. * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter to unsigned HOST_WIDE_INT; Use vtable_pointer_value_to_vtable. (vtable_pointer_value_to_vtable): Break out from ...; handle also POINTER_PLUS_EXPR. (vtable_pointer_value_to_binfo): ... here. * ipa-utils.h (vtable_pointer_value_to_vtable): Declare. From-SVN: r207439
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-19.C | Loading commit data... | |
devirt-2.C | Loading commit data... | |
devirt-20.C | Loading commit data... | |
devirt-21.C | Loading commit data... | |
devirt-23.C | Loading commit data... | |
devirt-24.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... | |
pr58371.C | Loading commit data... | |
pr59355.C | Loading commit data... | |
remref-1.C | Loading commit data... | |
remref-2.C | Loading commit data... | |
type-inheritance-1.C | Loading commit data... |