public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/113693] New: ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1
@ 2024-01-31 21:35 zsojka at seznam dot cz
  2024-01-31 22:34 ` [Bug tree-optimization/113693] " pinskia at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: zsojka at seznam dot cz @ 2024-01-31 21:35 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113693
           Summary: ICE: in check_loop_closed_ssa_def, at
                    tree-ssa-loop-manip.cc:647 with _BitInt() at -O2
                    -fdbg-cnt=vect_loop:1
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 57274
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57274&action=edit
reduced testcase (from gcc.dg/pr68766.c)

Compiler output:
$ x86_64-pc-linux-gnu-gcc -O2 -fdbg-cnt=vect_loop:1 testcase.c 
***dbgcnt: lower limit 1 reached for vect_loop.***
***dbgcnt: upper limit 1 reached for vect_loop.***
during GIMPLE pass: vect
testcase.c: In function 'fn1':
testcase.c:4:1: internal compiler error: in check_loop_closed_ssa_def, at
tree-ssa-loop-manip.cc:647
    4 | fn1(void)
      | ^~~
0x865e0d check_loop_closed_ssa_def
        /repo/gcc-trunk/gcc/tree-ssa-loop-manip.cc:647
0x1695c07 check_loop_closed_ssa_bb
        /repo/gcc-trunk/gcc/tree-ssa-loop-manip.cc:672
0x1695fa6 verify_loop_closed_ssa(bool, loop*)
        /repo/gcc-trunk/gcc/tree-ssa-loop-manip.cc:697
0x1695fa6 verify_loop_closed_ssa(bool, loop*)
        /repo/gcc-trunk/gcc/tree-ssa-loop-manip.cc:681
0x13ca929 execute_function_todo
        /repo/gcc-trunk/gcc/passes.cc:2106
0x13cad2e execute_todo
        /repo/gcc-trunk/gcc/passes.cc:2142
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r14-8665-20240131161256-g3fed1609f61-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.0.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--disable-bootstrap --with-cloog --with-ppl --with-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r14-8665-20240131161256-g3fed1609f61-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.0.1 20240131 (experimental) (GCC)

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

* [Bug tree-optimization/113693] ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1
  2024-01-31 21:35 [Bug tree-optimization/113693] New: ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1 zsojka at seznam dot cz
@ 2024-01-31 22:34 ` pinskia at gcc dot gnu.org
  2024-02-01  8:09 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-31 22:34 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-01-31

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed. Though I wonder if -fdbg-cnt is just broken for the vectorizer now
...

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

* [Bug tree-optimization/113693] ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1
  2024-01-31 21:35 [Bug tree-optimization/113693] New: ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1 zsojka at seznam dot cz
  2024-01-31 22:34 ` [Bug tree-optimization/113693] " pinskia at gcc dot gnu.org
@ 2024-02-01  8:09 ` rguenth at gcc dot gnu.org
  2024-02-01 10:13 ` cvs-commit at gcc dot gnu.org
  2024-02-01 10:23 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-02-01  8:09 UTC (permalink / raw)
  To: gcc-bugs

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

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> ---
We have

<bb 12> [local count: 955630224]:
# _236 = PHI <_101(11)>
_110 = .UADDC (prephitmp_250, 0, _101);

and _101 is defined in the loop just exited.  This is broken by

#0  set_ssa_use_from_ptr (use=0x7ffff7fb29c0, 
    val=<ssa_name 0x7ffff71f7cf0 101>)
    at /space/rguenther/src/gcc/gcc/ssa-iterators.h:297
#1  0x00000000019c17c3 in replace_exp (op_p=0x7ffff7fb29c0, 
    val=<ssa_name 0x7ffff71f7cf0 101>)
    at /space/rguenther/src/gcc/gcc/tree-ssa-propagate.cc:1150
#2  0x00000000019c18b4 in propagate_value (op_p=0x7ffff7fb29c0, 
    val=<ssa_name 0x7ffff71f7cf0 101>)
    at /space/rguenther/src/gcc/gcc/tree-ssa-propagate.cc:1173
#3  0x00000000019fb999 in eliminate_dom_walker::eliminate_stmt (
    this=0x7fffffffd610, b=<basic_block 0x7ffff71f4780 (12)>, 
    gsi=0x7fffffffd2f0) at /space/rguenther/src/gcc/gcc/tree-ssa-sccvn.cc:7179
#4  0x00000000019ff727 in process_bb (avail=..., 
    bb=<basic_block 0x7ffff71f4780 (12)>, bb_visited=false, 
    iterate_phis=false, iterate=false, eliminate=true, do_region=true, 
    exit_bbs=0x7fffffffd890, skip_phis=false)
    at /space/rguenther/src/gcc/gcc/tree-ssa-sccvn.cc:8190
#5  0x0000000001a016a5 in do_rpo_vn_1 (fn=0x7ffff71e2000, 
    entry=<edge 0x7ffff71f55a0 (11 -> 12)>, exit_bbs=0x7fffffffd890, 
    iterate=false, eliminate=true, skip_entry_phis=false, kind=VN_WALKREWRITE)
    at /space/rguenther/src/gcc/gcc/tree-ssa-sccvn.cc:8642
#6  0x0000000001a01d09 in do_rpo_vn (fn=0x7ffff71e2000, 
    entry=<edge 0x7ffff71f55a0 (11 -> 12)>, exit_bbs=0x7fffffffd890, 
    iterate=false, eliminate=true, skip_entry_phis=false, kind=VN_WALKREWRITE)
    at /space/rguenther/src/gcc/gcc/tree-ssa-sccvn.cc:8747
#7  0x0000000001b1717d in (anonymous namespace)::pass_vectorize::execute (
    this=0x485ab10, fun=0x7ffff71e2000)
    at /space/rguenther/src/gcc/gcc/tree-vectorizer.cc:1389

but region VN is supposed to preserve LC SSA.

We're value-numbering the region with entry edge 11 -> 12 (that's the exit
edge from the previous loop).  We try to include the preheader here which
I think is fine because the vectorizer puts stmts there.

The way to preserve LC SSA, making the op available, isn't working here
because of the change that treats out-of-region defs as available.

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

* [Bug tree-optimization/113693] ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1
  2024-01-31 21:35 [Bug tree-optimization/113693] New: ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1 zsojka at seznam dot cz
  2024-01-31 22:34 ` [Bug tree-optimization/113693] " pinskia at gcc dot gnu.org
  2024-02-01  8:09 ` rguenth at gcc dot gnu.org
@ 2024-02-01 10:13 ` cvs-commit at gcc dot gnu.org
  2024-02-01 10:23 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-02-01 10:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from GCC 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:b84f8a5e0a7ef3e5bd0d186fc7e280d9c43c5b7f

commit r14-8683-gb84f8a5e0a7ef3e5bd0d186fc7e280d9c43c5b7f
Author: Richard Biener <rguenther@suse.de>
Date:   Thu Feb 1 09:18:47 2024 +0100

    tree-optimization/113693 - LC SSA and region VN

    The following fixes LC SSA preserving with region VN which was broken
    when availability checking was enhanced to treat not visited value
    numbers as available.  The following makes sure to honor availability
    data we put in place for LC SSA preserving instead.

            PR tree-optimization/113693
            * tree-ssa-sccvn.cc (rpo_elim::eliminate_avail): Honor avail
            data when available.

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

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

* [Bug tree-optimization/113693] ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1
  2024-01-31 21:35 [Bug tree-optimization/113693] New: ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1 zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2024-02-01 10:13 ` cvs-commit at gcc dot gnu.org
@ 2024-02-01 10:23 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-02-01 10:23 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk, the issue isn't present on the branches.

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

end of thread, other threads:[~2024-02-01 10:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-31 21:35 [Bug tree-optimization/113693] New: ICE: in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:647 with _BitInt() at -O2 -fdbg-cnt=vect_loop:1 zsojka at seznam dot cz
2024-01-31 22:34 ` [Bug tree-optimization/113693] " pinskia at gcc dot gnu.org
2024-02-01  8:09 ` rguenth at gcc dot gnu.org
2024-02-01 10:13 ` cvs-commit at gcc dot gnu.org
2024-02-01 10:23 ` 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).