public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/64485] New: ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550
@ 2015-01-03 21:49 su at cs dot ucdavis.edu
  2015-01-03 21:52 ` [Bug ipa/64485] " su at cs dot ucdavis.edu
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: su at cs dot ucdavis.edu @ 2015-01-03 21:49 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 64485
           Summary: ICE at -Os and above on x86_64-linux-gnu in
                    compute_inlined_call_time, at ipa-inline.c:550
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: su at cs dot ucdavis.edu

The following code causes an ICE when compiled with the current gcc trunk at
-Os and above on x86_64-linux-gnu in both 32-bit and 64-bit modes. 

It is a regression from 4.9.x.

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 5.0.0 20150103 (experimental) [trunk revision 219158] (GCC) 

$ 
$ gcc-trunk -O1 -c small.c
$ gcc-4.9 -Os -c small.c
$ 
$ gcc-trunk -Os -c small.c
small.c:26:1: internal compiler error: in compute_inlined_call_time, at
ipa-inline.c:550
 }
 ^
0x110a06d compute_inlined_call_time(cgraph_edge*, int)
    ../../gcc-trunk/gcc/ipa-inline.c:550
0x11003b1 big_speedup_p
    ../../gcc-trunk/gcc/ipa-inline.c:561
0x1104cb6 want_inline_small_function_p
    ../../gcc-trunk/gcc/ipa-inline.c:613
0x1107623 inline_small_functions
    ../../gcc-trunk/gcc/ipa-inline.c:1640
0x1107623 ipa_inline
    ../../gcc-trunk/gcc/ipa-inline.c:2185
0x1107623 execute
    ../../gcc-trunk/gcc/ipa-inline.c:2558
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.
$ 


----------------------------


int a, b, c, d;

void
fn1 (int p)
{
  b = ~c;
  for (;;)
    ;
}

static int
fn2 (int p)
{
  if (p)
    d = 0;
  if (!p)
    fn1 (0);
  return a;
}

void
fn3 ()
{
  a = 0;
  fn2 (a);
}


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

* [Bug ipa/64485] ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550
  2015-01-03 21:49 [Bug ipa/64485] New: ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550 su at cs dot ucdavis.edu
@ 2015-01-03 21:52 ` su at cs dot ucdavis.edu
  2015-01-04 15:37 ` [Bug ipa/64485] [5 Regression] " hjl.tools at gmail dot com
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: su at cs dot ucdavis.edu @ 2015-01-03 21:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Zhendong Su <su at cs dot ucdavis.edu> ---
The following (somewhat simpler) test case triggers the same ICE: 

---------------------

int a, b, c;

int
fn1 ()
{
  return a || b;
}

static void 
fn2 (int p)
{
  if (p)
    c = fn1 ();
  for (;;)
    ;
}

void
fn3 ()
{
  fn2 (1);
}


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

* [Bug ipa/64485] [5 Regression] ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550
  2015-01-03 21:49 [Bug ipa/64485] New: ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550 su at cs dot ucdavis.edu
  2015-01-03 21:52 ` [Bug ipa/64485] " su at cs dot ucdavis.edu
@ 2015-01-04 15:37 ` hjl.tools at gmail dot com
  2015-01-04 16:40 ` hubicka at gcc dot gnu.org
  2015-01-13 11:39 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: hjl.tools at gmail dot com @ 2015-01-04 15:37 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at ucw dot cz
   Target Milestone|---                         |5.0
            Summary|ICE at -Os and above on     |[5 Regression] ICE at -Os
                   |x86_64-linux-gnu in         |and above on
                   |compute_inlined_call_time,  |x86_64-linux-gnu in
                   |at ipa-inline.c:550         |compute_inlined_call_time,
                   |                            |at ipa-inline.c:550

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
It is caused by r219076.


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

* [Bug ipa/64485] [5 Regression] ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550
  2015-01-03 21:49 [Bug ipa/64485] New: ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550 su at cs dot ucdavis.edu
  2015-01-03 21:52 ` [Bug ipa/64485] " su at cs dot ucdavis.edu
  2015-01-04 15:37 ` [Bug ipa/64485] [5 Regression] " hjl.tools at gmail dot com
@ 2015-01-04 16:40 ` hubicka at gcc dot gnu.org
  2015-01-13 11:39 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-01-04 16:40 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
This is caused by fact that we calculate times in fixed point, but compensate
them later in sreal.  The patch
https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00004.html ought to solve the
issue.


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

* [Bug ipa/64485] [5 Regression] ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550
  2015-01-03 21:49 [Bug ipa/64485] New: ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550 su at cs dot ucdavis.edu
                   ` (2 preceding siblings ...)
  2015-01-04 16:40 ` hubicka at gcc dot gnu.org
@ 2015-01-13 11:39 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-13 11:39 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Seems to be fixed.


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

end of thread, other threads:[~2015-01-13 11:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-03 21:49 [Bug ipa/64485] New: ICE at -Os and above on x86_64-linux-gnu in compute_inlined_call_time, at ipa-inline.c:550 su at cs dot ucdavis.edu
2015-01-03 21:52 ` [Bug ipa/64485] " su at cs dot ucdavis.edu
2015-01-04 15:37 ` [Bug ipa/64485] [5 Regression] " hjl.tools at gmail dot com
2015-01-04 16:40 ` hubicka at gcc dot gnu.org
2015-01-13 11:39 ` rguenth 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).