http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46987
--- Comment #5 from Martin Jambor <jamborm at gcc dot gnu.org> 2010-12-22 12:57:00 UTC --- Author: jamborm Date: Wed Dec 22 12:56:54 2010 New Revision: 168168 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168168 Log: 2010-12-22 Martin Jambor <mjam...@suse.cz> PR tree-optimization/45934 PR tree-optimization/46302 PR tree-optimization/46987 * gimple-fold.c (get_base_binfo_for_type): Removed. (gimple_get_relevant_ref_binfo): Likewise. (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality, removed parameter inplace, updated the caller. * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration. * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants. (ipcp_discover_new_direct_edges): Do not do devirtualization based on constants. * ipa-prop.c (compute_known_type_jump_func): Use get_ref_base_and_extent and get_binfo_at_offset instead of gimple_get_relevant_ref_binfo. (compute_known_type_jump_func): Likewise. (update_jump_functions_after_inlining): Do not derive types from constants. (try_make_edge_direct_virtual_call): Likewise. * tree.c (get_binfo_at_offset): Get type from non-artificial fields. * testsuite/g++.dg/ipa/ipcp-ivi-1.C: Removed. * testsuite/g++.dg/ipa/ivinline-6.C: Likewise. * testsuite/g++.dg/otr-fold-1.C: Likewise. * testsuite/g++.dg/otr-fold-2.C: Likewise. * testsuite/g++.dg/tree-ssa/pr43411.C: Xfail dump scan. * testsuite/g++.dg/tree-ssa/pr45605.C: Likewise. * testsuite/g++.dg/tree-ssa/pr46987.C: New test. Added: trunk/gcc/testsuite/g++.dg/tree-ssa/pr46987.C Removed: trunk/gcc/testsuite/g++.dg/ipa/ipcp-ivi-1.C trunk/gcc/testsuite/g++.dg/ipa/ivinline-6.C trunk/gcc/testsuite/g++.dg/otr-fold-1.C trunk/gcc/testsuite/g++.dg/otr-fold-2.C Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-fold.c trunk/gcc/gimple.h trunk/gcc/ipa-cp.c trunk/gcc/ipa-prop.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/tree-ssa/pr43411.C trunk/gcc/testsuite/g++.dg/tree-ssa/pr45605.C trunk/gcc/tree.c