public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/106909] New: error: control flow in the middle of basic block
@ 2022-09-12 15:30 dcb314 at hotmail dot com
  2022-09-12 15:43 ` [Bug tree-optimization/106909] " dcb314 at hotmail dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: dcb314 at hotmail dot com @ 2022-09-12 15:30 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 106909
           Summary: error: control flow in the middle of basic block
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

Created attachment 53563
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53563&action=edit
C++ source code

The attached legal C++ code does this:

$ ../results/bin/g++ -c -g -O2 -w bug847.cc
/home/dcb36/rpmbuild/BUILD/capnproto-c++-0.9.1/src/capnp/../kj/parse/common.h:727:7:
error: control flow in the middle of basic block 23
  727 |       operator()(Input& input) const {
      |       ^~~~~~~~
/home/dcb36/rpmbuild/BUILD/capnproto-c++-0.9.1/src/capnp/../kj/parse/common.h:727:7:
internal compiler error: verify_flow_info failed
0xb264bb verify_flow_info()
        ../../trunk.git/gcc/cfghooks.cc:284
0x109fc1b checking_verify_flow_info()
        ../../trunk.git/gcc/cfghooks.h:214

I will have a go at identifying a git range.

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

* [Bug tree-optimization/106909] error: control flow in the middle of basic block
  2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
@ 2022-09-12 15:43 ` dcb314 at hotmail dot com
  2022-09-12 15:46 ` [Bug tree-optimization/106909] [13 Regression] " pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: dcb314 at hotmail dot com @ 2022-09-12 15:43 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from David Binderman <dcb314 at hotmail dot com> ---
Git range seems to be cdcc27c1ca9c485c..a0f83501182de68f, some 30 commits.

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

* [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block
  2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
  2022-09-12 15:43 ` [Bug tree-optimization/106909] " dcb314 at hotmail dot com
@ 2022-09-12 15:46 ` pinskia at gcc dot gnu.org
  2022-09-12 18:48 ` dcb314 at hotmail dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-09-12 15:46 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|12.0                        |13.0
            Summary|error: control flow in the  |[13 Regression] error:
                   |middle of basic block       |control flow in the middle
                   |                            |of basic block
   Target Milestone|---                         |13.0

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

* [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block
  2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
  2022-09-12 15:43 ` [Bug tree-optimization/106909] " dcb314 at hotmail dot com
  2022-09-12 15:46 ` [Bug tree-optimization/106909] [13 Regression] " pinskia at gcc dot gnu.org
@ 2022-09-12 18:48 ` dcb314 at hotmail dot com
  2022-09-12 19:49 ` [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d marxin at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: dcb314 at hotmail dot com @ 2022-09-12 18:48 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from David Binderman <dcb314 at hotmail dot com> ---
Created attachment 53566
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53566&action=edit
C++ source code

After an hour of reduction, this is what remains.

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

* [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d
  2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (2 preceding siblings ...)
  2022-09-12 18:48 ` dcb314 at hotmail dot com
@ 2022-09-12 19:49 ` marxin at gcc dot gnu.org
  2022-09-13  5:45 ` marxin at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-09-12 19:49 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2022-09-12
                 CC|                            |marxin at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
            Summary|[13 Regression] error:      |[13 Regression] error:
                   |control flow in the middle  |control flow in the middle
                   |of basic block              |of basic block since
                   |                            |r13-2541-g78ef801b7263606d

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r13-2541-g78ef801b7263606d.

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

* [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d
  2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (3 preceding siblings ...)
  2022-09-12 19:49 ` [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d marxin at gcc dot gnu.org
@ 2022-09-13  5:45 ` marxin at gcc dot gnu.org
  2022-09-13  6:59 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-09-13  5:45 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #53563|0                           |1
        is obsolete|                            |
  Attachment #53566|0                           |1
        is obsolete|                            |

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Created attachment 53567
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53567&action=edit
Reduced test-case

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

* [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d
  2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (4 preceding siblings ...)
  2022-09-13  5:45 ` marxin at gcc dot gnu.org
@ 2022-09-13  6:59 ` rguenth at gcc dot gnu.org
  2022-09-13  8:52 ` cvs-commit at gcc dot gnu.org
  2022-09-13  8:53 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-09-13  6:59 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
<bb 25> [local count: 1073741824]:
_80 = SR.96_116(D);
# DEBUG this => SR.96_116(D)
# DEBUG firstElement => ptrCopy_79(D)
# DEBUG elementCount => sizeCopy_83(D)
# DEBUG capacity => sizeCopy_83(D)
# DEBUG INLINE_ENTRY dispose
# DEBUG firstElement => ptrCopy_79(D)
# DEBUG elementCount => sizeCopy_83(D)
# DEBUG capacity => sizeCopy_83(D)
# DEBUG disposer => SR.96_116(D)
# DEBUG INLINE_ENTRY dispose
_81 = MEM[(const struct ArrayDisposer *)SR.96_116(D)]._vptr.ArrayDisposer;
_82 = *_81;
__builtin_unreachable ();
# DEBUG firstElement => NULL
# DEBUG elementCount => NULL
# DEBUG capacity => NULL
# DEBUG disposer => NULL
# DEBUG this => NULL
# DEBUG firstElement => NULL
# DEBUG elementCount => NULL
# DEBUG capacity => NULL

after some folding.  I fear this is the general
gimple_build_builtin_unreachable
which is now generally used but esp. folding should _not_ mark the call
as control altering but leave that to CFG fixup (CFG cleanup doesn't catch
this since it only looks at the last stmt of BBs).

I'm fixing up in the use.

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

* [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d
  2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (5 preceding siblings ...)
  2022-09-13  6:59 ` rguenth at gcc dot gnu.org
@ 2022-09-13  8:52 ` cvs-commit at gcc dot gnu.org
  2022-09-13  8:53 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-09-13  8:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 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:2c867232df70d3de304714906b4198ecb262eb32

commit r13-2640-g2c867232df70d3de304714906b4198ecb262eb32
Author: Richard Biener <rguenther@suse.de>
Date:   Tue Sep 13 08:59:41 2022 +0200

    middle-end/106909 - CTRL altering flag after folding

    The following makes sure to clear the CTRL altering flag when
    folding emits a __builitin_unreachable in place of a virtual call
    which now might become a trap.

            PR middle-end/106909
            * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
            flag of a unreachable call.

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

* [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d
  2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (6 preceding siblings ...)
  2022-09-13  8:52 ` cvs-commit at gcc dot gnu.org
@ 2022-09-13  8:53 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-09-13  8:53 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

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

end of thread, other threads:[~2022-09-13  8:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-12 15:30 [Bug c++/106909] New: error: control flow in the middle of basic block dcb314 at hotmail dot com
2022-09-12 15:43 ` [Bug tree-optimization/106909] " dcb314 at hotmail dot com
2022-09-12 15:46 ` [Bug tree-optimization/106909] [13 Regression] " pinskia at gcc dot gnu.org
2022-09-12 18:48 ` dcb314 at hotmail dot com
2022-09-12 19:49 ` [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d marxin at gcc dot gnu.org
2022-09-13  5:45 ` marxin at gcc dot gnu.org
2022-09-13  6:59 ` rguenth at gcc dot gnu.org
2022-09-13  8:52 ` cvs-commit at gcc dot gnu.org
2022-09-13  8:53 ` 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).