[Bug ipa/94202] [10 Regression] ICE in do_estimate_edge_time, at ipa-inline-analysis.c:222

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Mar 19 23:42:44 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94202

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jan Hubicka <hubicka@gcc.gnu.org>:

https://gcc.gnu.org/g:f7dceb4e658399edfbf8dd0e08ce0c686bfa2c9d

commit r10-7282-gf7dceb4e658399edfbf8dd0e08ce0c686bfa2c9d
Author: Jan Hubicka <jh@suse.cz>
Date:   Fri Mar 20 00:42:13 2020 +0100

    Fix cgraph_node::function_symbol availability compuattion [PR94202]

    this fixes ICE in inliner cache sanity check which is caused by very old
    bug in visibility calculation in cgraph_node::function_symbol and
    cgraph_node::function_or_virtual_thunk_symbol.

    In the testcase there is indirect call to a thunk. At begining we correctly
    see that its body as AVAIL_AVAILABLE but later we inline into the thunk and
    this turns it to AVAIL_INTERPOSABLE.

    This is because function_symbol incorrectly overwrites availability
parameter
    by availability of the alias used in the call within thunk, which is a
local
    alias.

    gcc/ChangeLog:

    2020-03-19  Jan Hubicka  <hubicka@ucw.cz>

            PR ipa/94202
            * cgraph.c (cgraph_node::function_symbol): Fix availability
computation.
            (cgraph_node::function_or_virtual_thunk_symbol): Likewise.

    gcc/testsuite/ChangeLog:

    2020-03-19  Jan Hubicka  <hubicka@ucw.cz>

            PR ipa/94202
            * g++.dg/torture/pr94202.C: New test.


More information about the Gcc-bugs mailing list