public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
@ 2020-05-17  4:55 asolokha at gmx dot com
  2020-05-18  5:52 ` [Bug tree-optimization/95171] " marxin at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: asolokha at gmx dot com @ 2020-05-17  4:55 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 95171
           Summary: ICE: verify_flow_info failed (error: wrong outgoing
                    edge flags at end of bb 2)
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

gcc-11.0.0-alpha20200510 snapshot (g:13a46321516e2efd3bbb1f1899c539c6724240a9)
ICEs when compiling the following testcase w/ -fexceptions -ffinite-math-only
-fnon-call-exceptions (optionally, any optimization level except -Ofast can be
specified):

inline double __attribute__ ((always_inline))
w9 (int q2)
{
  return __builtin_fabs (__builtin_nan ("")) > 0.0 ? 1.0 : q2 / 1.0;
}

double __attribute__ ((optimize ("")))
o7 (int iz)
{
  int rj[1];

  (void) rj;

  return w9 (iz);
}

% gcc-11.0.0 -fexceptions -ffinite-math-only -fnon-call-exceptions -c
eqf0xkza.c
eqf0xkza.c:9:1: warning: bad option '-f' to attribute 'optimize' [-Wattributes]
    9 | {
      | ^
eqf0xkza.c: In function 'o7':
eqf0xkza.c:15:1: error: wrong outgoing edge flags at end of bb 2
   15 | }
      | ^
during GIMPLE pass: einline
eqf0xkza.c:15:1: internal compiler error: verify_flow_info failed
0x9059a7 verify_flow_info()
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200510/work/gcc-11-20200510/gcc/cfghooks.c:269
0xde57d4 checking_verify_flow_info
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200510/work/gcc-11-20200510/gcc/cfghooks.h:212
0xde57d4 cleanup_tree_cfg_noloop
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200510/work/gcc-11-20200510/gcc/tree-cfgcleanup.c:1114
0xde5dd8 cleanup_tree_cfg(unsigned int)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200510/work/gcc-11-20200510/gcc/tree-cfgcleanup.c:1165
0xcb744c execute_function_todo
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200510/work/gcc-11-20200510/gcc/passes.c:1951
0xcb81ac do_per_function
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200510/work/gcc-11-20200510/gcc/passes.c:1640
0xcb81ac execute_todo
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200510/work/gcc-11-20200510/gcc/passes.c:2039

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

* [Bug tree-optimization/95171] ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
  2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
@ 2020-05-18  5:52 ` marxin at gcc dot gnu.org
  2020-05-18  6:04 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-05-18  5:52 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org
   Last reconfirmed|                            |2020-05-18
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Valid test-case:

cat pr95171.c
inline double __attribute__ ((always_inline))
w9 (int q2)
{
  return __builtin_fabs (__builtin_nan ("")) > 0.0 ? 1.0 : q2 / 1.0;
}

double __attribute__ ((optimize ("-fipa-cp")))
o7 (int iz)
{
  int rj[1];

  (void) rj;

  return w9 (iz);
}

it's as old as at least 4.8.0.

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

* [Bug tree-optimization/95171] ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
  2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
  2020-05-18  5:52 ` [Bug tree-optimization/95171] " marxin at gcc dot gnu.org
@ 2020-05-18  6:04 ` rguenth at gcc dot gnu.org
  2020-05-18  6:26 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-18  6:04 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
I'll take a look.

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

* [Bug tree-optimization/95171] ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
  2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
  2020-05-18  5:52 ` [Bug tree-optimization/95171] " marxin at gcc dot gnu.org
  2020-05-18  6:04 ` rguenth at gcc dot gnu.org
@ 2020-05-18  6:26 ` rguenth at gcc dot gnu.org
  2020-05-18 10:28 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-18  6:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, so this is always_inline crossing a IL semantic boundary
(-fnon-call-exceptions + -ffinite-math-only).  In w9 NaN > 0.0 does not trap
but when
inlined into o7 it suddenly does and thus is invalid GIMPLE.

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

* [Bug tree-optimization/95171] ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
  2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
                   ` (2 preceding siblings ...)
  2020-05-18  6:26 ` rguenth at gcc dot gnu.org
@ 2020-05-18 10:28 ` cvs-commit at gcc dot gnu.org
  2020-05-18 10:28 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-18 10:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

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

commit r11-451-gfe168751c5c1c517c7c89c9a1e4e561d66b24663
Author: Richard Biener <rguenther@suse.de>
Date:   Mon May 18 08:51:23 2020 +0200

    middle-end/95171 - inlining of trapping compare into non-call EH fn

    This fixes always-inlining across -fnon-call-exception boundaries
    for conditions which we do not allow to throw.

    2020-05-18  Richard Biener  <rguenther@suse.de>

            PR middle-end/95171
            * tree-inline.c (remap_gimple_stmt): Split out trapping compares
            when inlining into a non-call EH function.

            * gcc.dg/pr95171.c: New testcase.

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

* [Bug tree-optimization/95171] ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
  2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
                   ` (3 preceding siblings ...)
  2020-05-18 10:28 ` cvs-commit at gcc dot gnu.org
@ 2020-05-18 10:28 ` rguenth at gcc dot gnu.org
  2020-05-20 11:28 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-18 10:28 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|11.0                        |
      Known to work|                            |11.0

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk sofar.

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

* [Bug tree-optimization/95171] ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
  2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
                   ` (4 preceding siblings ...)
  2020-05-18 10:28 ` rguenth at gcc dot gnu.org
@ 2020-05-20 11:28 ` rguenth at gcc dot gnu.org
  2020-12-01 15:44 ` cvs-commit at gcc dot gnu.org
  2021-09-16  1:36 ` pinskia at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-20 11:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95171
Bug 95171 depends on bug 95231, which changed state.

Bug 95231 Summary: [11 Regression] error: the first argument of a ‘vec_cond_expr’ must be of a boolean vector type of the since r11-451-gfe168751c5c1c517
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95231

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

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

* [Bug tree-optimization/95171] ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
  2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
                   ` (5 preceding siblings ...)
  2020-05-20 11:28 ` rguenth at gcc dot gnu.org
@ 2020-12-01 15:44 ` cvs-commit at gcc dot gnu.org
  2021-09-16  1:36 ` pinskia at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-12-01 15:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:1e676cfbe1e13fba2c636b560362ed4f0a56893d

commit r10-9100-g1e676cfbe1e13fba2c636b560362ed4f0a56893d
Author: Richard Biener <rguenther@suse.de>
Date:   Mon May 18 08:51:23 2020 +0200

    middle-end/95171 - inlining of trapping compare into non-call EH fn

    This fixes always-inlining across -fnon-call-exception boundaries
    for conditions which we do not allow to throw.

    2020-05-18  Richard Biener  <rguenther@suse.de>

            PR middle-end/95171
            * tree-inline.c (remap_gimple_stmt): Split out trapping compares
            when inlining into a non-call EH function.

            * gcc.dg/pr95171.c: New testcase.

    (cherry picked from commit fe168751c5c1c517c7c89c9a1e4e561d66b24663)

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

* [Bug tree-optimization/95171] ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2)
  2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
                   ` (6 preceding siblings ...)
  2020-12-01 15:44 ` cvs-commit at gcc dot gnu.org
@ 2021-09-16  1:36 ` pinskia at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-16  1:36 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |10.3
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed for GCC 10.3.0.

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

end of thread, other threads:[~2021-09-16  1:36 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-17  4:55 [Bug tree-optimization/95171] New: ICE: verify_flow_info failed (error: wrong outgoing edge flags at end of bb 2) asolokha at gmx dot com
2020-05-18  5:52 ` [Bug tree-optimization/95171] " marxin at gcc dot gnu.org
2020-05-18  6:04 ` rguenth at gcc dot gnu.org
2020-05-18  6:26 ` rguenth at gcc dot gnu.org
2020-05-18 10:28 ` cvs-commit at gcc dot gnu.org
2020-05-18 10:28 ` rguenth at gcc dot gnu.org
2020-05-20 11:28 ` rguenth at gcc dot gnu.org
2020-12-01 15:44 ` cvs-commit at gcc dot gnu.org
2021-09-16  1:36 ` pinskia 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).