https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89330
--- Comment #14 from Martin Jambor <jamborm at gcc dot gnu.org> --- Author: jamborm Date: Fri Jul 26 08:44:51 2019 New Revision: 273825 URL: https://gcc.gnu.org/viewcvs?rev=273825&root=gcc&view=rev Log: [PR 89330] Remove non-useful speculations from new_edges 2019-07-26 Martin Jambor <mjam...@suse.cz> PR ipa/89330 * ipa-inline-transform.c (check_speculations_1): New function. (push_all_edges_in_set_to_vec): Likewise. (check_speculations): Use check_speculations_1, new parameter new_edges. (inline_call): Pass new_edges to check_speculations. * ipa-inline.c (add_new_edges_to_heap): Assert edge_callee is not NULL. (speculation_useful_p): Early return true if edge is inlined, remove later checks for inline_failed. testsuite/ * g++.dg/lto/pr89330_[01].C: New test. * g++.dg/tree-prof/devirt.C: Added -fno-profile-values to dg-options. Added: trunk/gcc/testsuite/g++.dg/lto/pr89330_0.C trunk/gcc/testsuite/g++.dg/lto/pr89330_1.C Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-inline-transform.c trunk/gcc/ipa-inline.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/tree-prof/devirt.C