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

Reply via email to