public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/114365] New: ICE: verify_ssa failed: definition in block 4 does not dominate use in block 5 at -O with _BitInt() shift in a bitfield
@ 2024-03-16 17:22 zsojka at seznam dot cz
  2024-03-19 10:08 ` [Bug tree-optimization/114365] " jakub at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: zsojka at seznam dot cz @ 2024-03-16 17:22 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 114365
           Summary: ICE: verify_ssa failed: definition in block 4 does not
                    dominate use in block 5 at -O with _BitInt() shift in
                    a bitfield
           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
                CC: jakub at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 57717
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57717&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc -O testcase.c
testcase.c: In function 'foo':
testcase.c:7:1: error: definition in block 4 does not dominate use in block 5
    7 | foo(int a)
      | ^~~
for SSA_NAME: _33 in statement:
_36 = _33 << 33;
during GIMPLE pass: bitintlower
testcase.c:7:1: internal compiler error: verify_ssa failed
0x177d34f verify_ssa(bool, bool)
        /repo/gcc-trunk/gcc/tree-ssa.cc:1203
0x13ceab5 execute_function_todo
        /repo/gcc-trunk/gcc/passes.cc:2095
0x13cef1e 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-9503-20240316151633-g218d1749612-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 --enable-libsanitizer
--disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r14-9503-20240316151633-g218d1749612-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.0.1 20240316 (experimental) (GCC)

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

* [Bug tree-optimization/114365] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 5 at -O with _BitInt() shift in a bitfield
  2024-03-16 17:22 [Bug tree-optimization/114365] New: ICE: verify_ssa failed: definition in block 4 does not dominate use in block 5 at -O with _BitInt() shift in a bitfield zsojka at seznam dot cz
@ 2024-03-19 10:08 ` jakub at gcc dot gnu.org
  2024-03-20  9:55 ` cvs-commit at gcc dot gnu.org
  2024-03-20  9:57 ` jakub at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-03-19 10:08 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-03-19
             Status|UNCONFIRMED                 |ASSIGNED

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 57735
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57735&action=edit
gcc14-pr114365.patch

So far only lightly tested fix.

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

* [Bug tree-optimization/114365] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 5 at -O with _BitInt() shift in a bitfield
  2024-03-16 17:22 [Bug tree-optimization/114365] New: ICE: verify_ssa failed: definition in block 4 does not dominate use in block 5 at -O with _BitInt() shift in a bitfield zsojka at seznam dot cz
  2024-03-19 10:08 ` [Bug tree-optimization/114365] " jakub at gcc dot gnu.org
@ 2024-03-20  9:55 ` cvs-commit at gcc dot gnu.org
  2024-03-20  9:57 ` jakub at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-03-20  9:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:456e10f28b36aa417e0db145556831c4f979fbd7

commit r14-9570-g456e10f28b36aa417e0db145556831c4f979fbd7
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Mar 20 10:55:07 2024 +0100

    bitint: Fix handling of conditional bitfield loads [PR114365]

    For the m_var_msb (aka left shift) case of large/huge _BitInt bitfield
loads
    handle_load adds a PHI node, but I forgot to actually update the temporary
    the code later on uses, so the PHI result was unused and the code
    incorrectly used something that wasn't valid SSA form.
    In particular, we emitted
      if (_29 != 2)
        goto <bb 4>; [80.00%]
      else
        goto <bb 5>; [20.00%]

      <bb 4> [local count: 1073741824]:
      _33 = VIEW_CONVERT_EXPR<unsigned long[3]>(s.D.2771)[_31];

      <bb 5> [local count: 1073741824]:
      # _34 = PHI <_33(4), 0(3)>
      _35 = _32 >> 31;
      _36 = _33 << 33;
      _37 = _36 | _35;
      _38 = _37 << _19;
    where instead of _33 the _36 def stmt should be using _34.

    Fixed thusly.

    2024-03-20  Jakub Jelinek  <jakub@redhat.com>

            PR tree-optimization/114365
            * gimple-lower-bitint.cc (bitint_large_huge::handle_load): When
adding
            a PHI node, set iv2 to its result afterwards.

            * gcc.dg/bitint-102.c: New test.

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

* [Bug tree-optimization/114365] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 5 at -O with _BitInt() shift in a bitfield
  2024-03-16 17:22 [Bug tree-optimization/114365] New: ICE: verify_ssa failed: definition in block 4 does not dominate use in block 5 at -O with _BitInt() shift in a bitfield zsojka at seznam dot cz
  2024-03-19 10:08 ` [Bug tree-optimization/114365] " jakub at gcc dot gnu.org
  2024-03-20  9:55 ` cvs-commit at gcc dot gnu.org
@ 2024-03-20  9:57 ` jakub at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-03-20  9:57 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Should be fixed now.

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

end of thread, other threads:[~2024-03-20  9:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-16 17:22 [Bug tree-optimization/114365] New: ICE: verify_ssa failed: definition in block 4 does not dominate use in block 5 at -O with _BitInt() shift in a bitfield zsojka at seznam dot cz
2024-03-19 10:08 ` [Bug tree-optimization/114365] " jakub at gcc dot gnu.org
2024-03-20  9:55 ` cvs-commit at gcc dot gnu.org
2024-03-20  9:57 ` jakub 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).