public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/64503] New: [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception
@ 2015-01-05 18:55 ubizjak at gmail dot com
  2015-01-05 19:14 ` [Bug ipa/64503] " ubizjak at gmail dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: ubizjak at gmail dot com @ 2015-01-05 18:55 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 64503
           Summary: [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal
                    compiler error: Floating point exception
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ubizjak at gmail dot com

Recently compiler starts to crash with the Floating point exception on several
IPA related testcases, where -fdump-ipa-inline is used. One example is:

/space/uros/gcc-build/gcc/xgcc -B/space/uros/gcc-build/gcc/
/space/homedirs/uros/gcc-svn/trunk/gcc/testsuite/gcc.dg/ipa/iinline-4.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -fdump-ipa-inline
-fno-early-inlining -fno-ipa-icf -S  -o iinline-4.s

/space/homedirs/uros/gcc-svn/trunk/gcc/testsuite/gcc.dg/ipa/iinline-4.c:210:1:
internal compiler error: Floating point exception
0x1207c7743 crash_signal
        ../../gcc-svn/trunk/gcc/toplev.c:359
0x1207abf0c sreal::to_double() const
        ../../gcc-svn/trunk/gcc/sreal.c:125
0x120c92be7 inline_small_functions
        ../../gcc-svn/trunk/gcc/ipa-inline.c:1723
0x120c92be7 ipa_inline
        ../../gcc-svn/trunk/gcc/ipa-inline.c:2185
0x120c92be7 execute
        ../../gcc-svn/trunk/gcc/ipa-inline.c:2558
Please submit a full bug report,
...

This problem can also bw seen on x86_64-linux-gnu with the above testcase. In
the iinline-4.c.055i.inline dump file, badness is estimated to -inf:

...
Considering hiphip4.constprop/36 with 6 size
 to be inlined into test4/14 in unknown:-1
 Estimated badness is -inf, frequency 1.00.
 Inlined into test4 which now has time 16 and size 8,net change of -8.
New minimal size reached: 160

(and several other occurrences)
...

Please note that x86_64 is "immune" to infinities by default, where alpha needs
special FP instructions to handle overflow traps. While this can be done (build
the compiler with -mieee), it looks that something went wrong with the badness
estimation.


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

* [Bug ipa/64503] [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception
  2015-01-05 18:55 [Bug ipa/64503] New: [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception ubizjak at gmail dot com
@ 2015-01-05 19:14 ` ubizjak at gmail dot com
  2015-01-06 11:33 ` marxin at gcc dot gnu.org
  2015-01-09 10:39 ` marxin at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: ubizjak at gmail dot com @ 2015-01-05 19:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
The values at sreal::to_double are highly suspicious (these values are the same
on x86_64 and alpha), following is on x86_64:

125         val *= exp2 (m_exp);
(gdb) p val
$5 = -1073741826
(gdb) p m_exp
$6 = 2097153
(gdb) p/x m_exp
$7 = 0x200001

(gdb) list
120     double
121     sreal::to_double () const
122     {
123       double val = m_sig;
124       if (m_exp)
125         val *= exp2 (m_exp);
126       return val;
127     }

This can be reproduced by simply setting breakpoint on sreal::to_double, the
problem will be exposed the first time this function is called.
>From gcc-bugs-return-472271-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Jan 05 19:21:35 2015
Return-Path: <gcc-bugs-return-472271-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 1032 invoked by alias); 5 Jan 2015 19:21:34 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 993 invoked by uid 48); 5 Jan 2015 19:21:30 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/64503] [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception
Date: Mon, 05 Jan 2015 19:21:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ipa
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-64503-4-hEWHCNSXsG@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64503-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64503-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-01/txt/msg00265.txt.bz2
Content-length: 421

https://gcc.gnu.org/bugzilla/show_bug.cgi?idd503

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

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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
val *= exp2 (m_exp); - eek, why not scalbln?


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

* [Bug ipa/64503] [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception
  2015-01-05 18:55 [Bug ipa/64503] New: [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception ubizjak at gmail dot com
  2015-01-05 19:14 ` [Bug ipa/64503] " ubizjak at gmail dot com
@ 2015-01-06 11:33 ` marxin at gcc dot gnu.org
  2015-01-09 10:39 ` marxin at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: marxin at gcc dot gnu.org @ 2015-01-06 11:33 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Hello.

I've been testing fix where I replaced exp2 with scalbln, as Jakub suggested.
On the other hand, -inf looks a bit suspicious and is created here:

ipa-inline.c:946, where

if (growth <= 0) {
  badness = (sreal) (-SREAL_MIN_SIG + growth) << (SREAL_MAX_EXP / 256);

as one can see, it's (-1073741824+growth) << (536870911/256) which is
practically always -inf?

I am curious if it's desired calculation Honza?

Thanks,
Martin
>From gcc-bugs-return-472299-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jan 06 11:52:03 2015
Return-Path: <gcc-bugs-return-472299-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 18161 invoked by alias); 6 Jan 2015 11:52:03 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 18103 invoked by uid 55); 6 Jan 2015 11:51:56 -0000
From: "thopre01 at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/63259] Detecting byteswap sequence
Date: Tue, 06 Jan 2015 11:52:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.1
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: thopre01 at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: thopre01 at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-63259-4-ciuswaDCvO@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-63259-4@http.gcc.gnu.org/bugzilla/>
References: <bug-63259-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-01/txt/msg00293.txt.bz2
Content-length: 527

https://gcc.gnu.org/bugzilla/show_bug.cgi?idc259

--- Comment #21 from thopre01 at gcc dot gnu.org ---
Author: thopre01
Date: Tue Jan  6 11:51:16 2015
New Revision: 219256

URL: https://gcc.gnu.org/viewcvs?rev!9256&root=gcc&view=rev
Log:
2015-01-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/63259
    * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
    if optab exists for 16bit byteswap.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-math-opts.c


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

* [Bug ipa/64503] [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception
  2015-01-05 18:55 [Bug ipa/64503] New: [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception ubizjak at gmail dot com
  2015-01-05 19:14 ` [Bug ipa/64503] " ubizjak at gmail dot com
  2015-01-06 11:33 ` marxin at gcc dot gnu.org
@ 2015-01-09 10:39 ` marxin at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: marxin at gcc dot gnu.org @ 2015-01-09 10:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Author: marxin
Date: Fri Jan  9 10:38:49 2015
New Revision: 219378

URL: https://gcc.gnu.org/viewcvs?rev=219378&root=gcc&view=rev
Log:
Fix for ipa/PR64503

    PR ipa/64503
    * sreal.c (sreal::dump): Change unsigned format to signed for
    m_exp value.
    (sreal::to_double): Replace exp2 with scalbln.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/sreal.c
>From gcc-bugs-return-472569-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jan 09 10:40:31 2015
Return-Path: <gcc-bugs-return-472569-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 31804 invoked by alias); 9 Jan 2015 10:40:31 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 31749 invoked by uid 48); 9 Jan 2015 10:40:26 -0000
From: "marxin at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/64503] [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception
Date: Fri, 09 Jan 2015 10:40:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ipa
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: marxin at gcc dot gnu.org
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status resolution
Message-ID: <bug-64503-4-I9i6BTlAjc@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64503-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64503-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-01/txt/msg00563.txt.bz2
Content-length: 442

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

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

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

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Fixed in 5.0.0.
>From gcc-bugs-return-472570-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jan 09 10:56:31 2015
Return-Path: <gcc-bugs-return-472570-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 15851 invoked by alias); 9 Jan 2015 10:56:30 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 15817 invoked by uid 48); 9 Jan 2015 10:56:25 -0000
From: "ktkachov at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/64405] [arm] Invalid codegenaration for ARMv3 and ARMv2
Date: Fri, 09 Jan 2015 10:56:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 4.8.5
X-Bugzilla-Keywords: wrong-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ktkachov at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: keywords bug_status cf_reconfirmed_on cc everconfirmed cf_known_to_fail
Message-ID: <bug-64405-4-EKCXPzK851@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64405-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64405-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-01/txt/msg00564.txt.bz2
Content-length: 962

https://gcc.gnu.org/bugzilla/show_bug.cgi?idd405

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-01-09
                 CC|                            |ktkachov at gcc dot gnu.org
     Ever confirmed|0                           |1
      Known to fail|                            |4.9.3, 5.0

--- Comment #2 from ktkachov at gcc dot gnu.org ---
Confirmed. The culprit seems to be output_return_instruction where the final
switch statement in the default case checks the architecture level to choose
whether to use bx or mov pc but in the ARM_FT_INTERWORKED case doesn't and just
emits bx lr.

This can be fixed easily I guess. I'll prepare a patch when I get some time/


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

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

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-05 18:55 [Bug ipa/64503] New: [5 Regression] gcc.dg/ipa/iinline-4.c:210:1: internal compiler error: Floating point exception ubizjak at gmail dot com
2015-01-05 19:14 ` [Bug ipa/64503] " ubizjak at gmail dot com
2015-01-06 11:33 ` marxin at gcc dot gnu.org
2015-01-09 10:39 ` marxin 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).