public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/65008] New: [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2
@ 2015-02-10 21:34 zsojka at seznam dot cz
  2015-02-11  8:09 ` [Bug ipa/65008] " jakub at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: zsojka at seznam dot cz @ 2015-02-10 21:34 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 65008
           Summary: [5 Regression] ICE: in estimate_edge_growth, at
                    ipa-inline.h:298 with -O2
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz

Created attachment 34718
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34718&action=edit
reduced testcase

Compiler output:
$ gcc -O2 testcase.C 
testcase.C: In constructor 'A::A()':
testcase.C:15:1: internal compiler error: in estimate_edge_growth, at
ipa-inline.h:298
 }
 ^
0xbfffe8 estimate_edge_growth
        /mnt/svn/gcc-trunk/gcc/ipa-inline.h:297
0xbfffe8 estimate_size_after_inlining(cgraph_node*, cgraph_edge*)
        /mnt/svn/gcc-trunk/gcc/ipa-inline-analysis.c:3892
0x1836925 caller_growth_limits
        /mnt/svn/gcc-trunk/gcc/ipa-inline.c:214
0x1836925 can_inline_edge_p
        /mnt/svn/gcc-trunk/gcc/ipa-inline.c:400
0x1837714 early_inline_small_functions
        /mnt/svn/gcc-trunk/gcc/ipa-inline.c:2465
0x1837714 early_inliner(function*)
        /mnt/svn/gcc-trunk/gcc/ipa-inline.c:2569
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Tested revisions:
r220566 - ICE
4_9 r219040 - OK


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

* [Bug ipa/65008] [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2
  2015-02-10 21:34 [Bug ipa/65008] New: [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2 zsojka at seznam dot cz
@ 2015-02-11  8:09 ` jakub at gcc dot gnu.org
  2015-02-11  9:43 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-02-11  8:09 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-02-11
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |jakub at gcc dot gnu.org
   Target Milestone|---                         |5.0
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r220359.


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

* [Bug ipa/65008] [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2
  2015-02-10 21:34 [Bug ipa/65008] New: [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2 zsojka at seznam dot cz
  2015-02-11  8:09 ` [Bug ipa/65008] " jakub at gcc dot gnu.org
@ 2015-02-11  9:43 ` rguenth at gcc dot gnu.org
  2015-02-18 18:51 ` mpolacek at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-11  9:43 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


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

* [Bug ipa/65008] [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2
  2015-02-10 21:34 [Bug ipa/65008] New: [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2 zsojka at seznam dot cz
  2015-02-11  8:09 ` [Bug ipa/65008] " jakub at gcc dot gnu.org
  2015-02-11  9:43 ` rguenth at gcc dot gnu.org
@ 2015-02-18 18:51 ` mpolacek at gcc dot gnu.org
  2015-02-18 20:34 ` mpolacek at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-02-18 18:51 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mpolacek at gcc dot gnu.org

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
The following seems to fix it...

diff --git gcc/ipa-inline.c gcc/ipa-inline.c
index 025f7fc..64b8d0a 100644
--- gcc/ipa-inline.c
+++ gcc/ipa-inline.c
@@ -2559,6 +2559,19 @@ early_inliner (function *fun)
        {
          timevar_push (TV_INTEGRATION);
          todo |= optimize_inline_calls (current_function_decl);
+         /* optimize_inline_calls call above might have introduced new
+            statements that don't have inline parameters computed.  */
+         for (edge = node->callees; edge; edge = edge->next_callee)
+           {
+             if (inline_edge_summary_vec.length () > (unsigned) edge->uid)
+               {
+                 struct inline_edge_summary *es = inline_edge_summary (edge);
+                 es->call_stmt_size
+                   = estimate_num_insns (edge->call_stmt, &eni_size_weights);
+                 es->call_stmt_time
+                   = estimate_num_insns (edge->call_stmt, &eni_time_weights);
+               }
+             }
          inline_update_overall_summary (node);
          inlined = false;
          timevar_pop (TV_INTEGRATION);


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

* [Bug ipa/65008] [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2
  2015-02-10 21:34 [Bug ipa/65008] New: [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2 zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2015-02-18 18:51 ` mpolacek at gcc dot gnu.org
@ 2015-02-18 20:34 ` mpolacek at gcc dot gnu.org
  2015-02-26 20:04 ` mpolacek at gcc dot gnu.org
  2015-02-26 20:22 ` mpolacek at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-02-18 20:34 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |mpolacek at gcc dot gnu.org

--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Testing passed; let me post a patch and we'll see.


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

* [Bug ipa/65008] [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2
  2015-02-10 21:34 [Bug ipa/65008] New: [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2 zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2015-02-18 20:34 ` mpolacek at gcc dot gnu.org
@ 2015-02-26 20:04 ` mpolacek at gcc dot gnu.org
  2015-02-26 20:22 ` mpolacek at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-02-26 20:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Thu Feb 26 18:59:50 2015
New Revision: 221025

URL: https://gcc.gnu.org/viewcvs?rev=221025&root=gcc&view=rev
Log:
    PR ipa/65008
    * ipa-inline.c (early_inliner): Recompute inline parameters.

    * g++.dg/ipa/pr65008.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/ipa/pr65008.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ipa-inline.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug ipa/65008] [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2
  2015-02-10 21:34 [Bug ipa/65008] New: [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2 zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2015-02-26 20:04 ` mpolacek at gcc dot gnu.org
@ 2015-02-26 20:22 ` mpolacek at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2015-02-26 20:22 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

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

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Fixed.


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

end of thread, other threads:[~2015-02-26 19:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-10 21:34 [Bug ipa/65008] New: [5 Regression] ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2 zsojka at seznam dot cz
2015-02-11  8:09 ` [Bug ipa/65008] " jakub at gcc dot gnu.org
2015-02-11  9:43 ` rguenth at gcc dot gnu.org
2015-02-18 18:51 ` mpolacek at gcc dot gnu.org
2015-02-18 20:34 ` mpolacek at gcc dot gnu.org
2015-02-26 20:04 ` mpolacek at gcc dot gnu.org
2015-02-26 20:22 ` mpolacek 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).