public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug lto/94202] New: lto1: internal compiler error: in do_estimate_edge_time, at ipa-inline-analysis.c:222
@ 2020-03-17 16:04 sbergman at redhat dot com
  2020-03-17 16:10 ` [Bug lto/94202] [10 Regression] ICE " marxin at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: sbergman at redhat dot com @ 2020-03-17 16:04 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 94202
           Summary: lto1: internal compiler error: in
                    do_estimate_edge_time, at ipa-inline-analysis.c:222
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sbergman at redhat dot com
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

At least with current GCC 10 trunk on Linux x86-64:

> $ cat test.cc
> struct S1 {
>   virtual ~S1();
>   virtual void v();
> };
> struct S2: S1 {};
> struct S3: S1, S2 { void v(); };
> struct S4: S3 { void v(); };
> void S4::v() { S3::v(); }
> struct R {
>   S1 * m;
>   void f(S2 * x) {
>     static_cast<S1 *>(x)->v();
>     x->v();
>     m = x;
>   }
> };
> void f() {
>   R r;
>   r.f(new S4);
>   r.f(new S3);
> }

> $ g++ -flto -fPIC -O2 -shared test.cc
> test.cc:6:8: warning: direct base ‘S1’ inaccessible in ‘S3’ due to ambiguity [-Winaccessible-base]
>     6 | struct S3: S1, S2 { void v(); };
>       |        ^~
> during IPA pass: inline
> lto1: internal compiler error: in do_estimate_edge_time, at ipa-inline-analysis.c:222
> 0x63483d do_estimate_edge_time(cgraph_edge*, sreal*)
>         ../../src/gcc/ipa-inline-analysis.c:222
> 0xa6edc0 do_estimate_edge_size(cgraph_edge*)
>         ../../src/gcc/ipa-inline-analysis.c:318
> 0x15bb63e estimate_edge_size
>         ../../src/gcc/ipa-inline.h:78
> 0x15bb63e inline_small_functions
>         ../../src/gcc/ipa-inline.c:2052
> 0x15bb63e ipa_inline
>         ../../src/gcc/ipa-inline.c:2685
> 0x15bb63e execute
>         ../../src/gcc/ipa-inline.c:3087
> Please submit a full bug report,
> with preprocessed source if appropriate.
> Please include the complete backtrace with any bug report.
> See <https://gcc.gnu.org/bugs/> for instructions.
> lto-wrapper: fatal error: /data/sbergman/gcc/trunk/inst/bin/g++ returned 1 exit status
> compilation terminated.
> /usr/bin/ld: error: lto-wrapper failed
> collect2: error: ld returned 1 exit status

What makes that

>               gcc_assert (chk_size == size && chk_time == time
>                           && chk_nonspec_time == nonspec_time
>                           && chk_hints == hints);

trigger is chk_hints=32 (i.e., INLINE_HINT_declared_inline) vs. hints=33 (i.e.,
INLINE_HINT_indirect_call|INLINE_HINT_declared_inline).

I don't know whether this is related to bug 92508, but that is claimed to be
fixed since November 2019.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug lto/94202] [10 Regression] ICE in do_estimate_edge_time, at ipa-inline-analysis.c:222
  2020-03-17 16:04 [Bug lto/94202] New: lto1: internal compiler error: in do_estimate_edge_time, at ipa-inline-analysis.c:222 sbergman at redhat dot com
@ 2020-03-17 16:10 ` marxin at gcc dot gnu.org
  2020-03-17 16:10 ` marxin at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-17 16:10 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|lto1: internal compiler     |[10 Regression] ICE in
                   |error: in                   |do_estimate_edge_time, at
                   |do_estimate_edge_time, at   |ipa-inline-analysis.c:222
                   |ipa-inline-analysis.c:222   |
      Known to fail|                            |10.0
      Known to work|                            |9.3.0
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |ASSIGNED
   Target Milestone|---                         |10.0
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot gnu.org
   Last reconfirmed|                            |2020-03-17

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Thank you for the report. Yes, it's another issue caused by the revision
r10-4624-gb914768c1968d924.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug lto/94202] [10 Regression] ICE in do_estimate_edge_time, at ipa-inline-analysis.c:222
  2020-03-17 16:04 [Bug lto/94202] New: lto1: internal compiler error: in do_estimate_edge_time, at ipa-inline-analysis.c:222 sbergman at redhat dot com
  2020-03-17 16:10 ` [Bug lto/94202] [10 Regression] ICE " marxin at gcc dot gnu.org
@ 2020-03-17 16:10 ` marxin at gcc dot gnu.org
  2020-03-19 23:42 ` [Bug ipa/94202] " cvs-commit at gcc dot gnu.org
  2020-03-19 23:43 ` hubicka at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-03-17 16:10 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
           Keywords|                            |ice-on-valid-code

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug ipa/94202] [10 Regression] ICE in do_estimate_edge_time, at ipa-inline-analysis.c:222
  2020-03-17 16:04 [Bug lto/94202] New: lto1: internal compiler error: in do_estimate_edge_time, at ipa-inline-analysis.c:222 sbergman at redhat dot com
  2020-03-17 16:10 ` [Bug lto/94202] [10 Regression] ICE " marxin at gcc dot gnu.org
  2020-03-17 16:10 ` marxin at gcc dot gnu.org
@ 2020-03-19 23:42 ` cvs-commit at gcc dot gnu.org
  2020-03-19 23:43 ` hubicka at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-03-19 23:42 UTC (permalink / raw)
  To: gcc-bugs

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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug ipa/94202] [10 Regression] ICE in do_estimate_edge_time, at ipa-inline-analysis.c:222
  2020-03-17 16:04 [Bug lto/94202] New: lto1: internal compiler error: in do_estimate_edge_time, at ipa-inline-analysis.c:222 sbergman at redhat dot com
                   ` (2 preceding siblings ...)
  2020-03-19 23:42 ` [Bug ipa/94202] " cvs-commit at gcc dot gnu.org
@ 2020-03-19 23:43 ` hubicka at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: hubicka at gcc dot gnu.org @ 2020-03-19 23:43 UTC (permalink / raw)
  To: gcc-bugs

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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Fixed. Probably not important enough to backport even though the bug is present
in all active branches.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-03-19 23:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-17 16:04 [Bug lto/94202] New: lto1: internal compiler error: in do_estimate_edge_time, at ipa-inline-analysis.c:222 sbergman at redhat dot com
2020-03-17 16:10 ` [Bug lto/94202] [10 Regression] ICE " marxin at gcc dot gnu.org
2020-03-17 16:10 ` marxin at gcc dot gnu.org
2020-03-19 23:42 ` [Bug ipa/94202] " cvs-commit at gcc dot gnu.org
2020-03-19 23:43 ` hubicka at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).