public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/113463] New: ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset
@ 2024-01-18  2:55 zsojka at seznam dot cz
  2024-01-18 15:28 ` [Bug tree-optimization/113463] " jakub at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: zsojka at seznam dot cz @ 2024-01-18  2:55 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113463
           Summary: ICE: in extended_tree, at tree.h:6449 with _BitInt()
                    used as offset
           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 57125
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57125&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc testcase.c 
during GIMPLE pass: lower
testcase.c: In function 'foo':
testcase.c:4:11: internal compiler error: in extended_tree, at tree.h:6449
    4 |      void foo (void)
      |           ^~~
0x784f0c wi::extended_tree<128>::extended_tree(tree_node const*)
        /repo/gcc-trunk/gcc/tree.h:6449
0x784f0c wi::extended_tree<128>::extended_tree(tree_node const*)
        /repo/gcc-trunk/gcc/tree.h:6446
0x784f0c generic_wide_int<wi::extended_tree<128> >::generic_wide_int<tree_node
const*>(tree_node const* const&)
        /repo/gcc-trunk/gcc/wide-int.h:847
0x784f0c wi::to_offset(tree_node const*)
        /repo/gcc-trunk/gcc/tree.h:6401
0x784f0c extend_offset_range
        /repo/gcc-trunk/gcc/gimple-ssa-warn-restrict.cc:402
0x118edfe set_base_and_offset
        /repo/gcc-trunk/gcc/gimple-ssa-warn-restrict.cc:493
0x118f6ee builtin_memref
        /repo/gcc-trunk/gcc/gimple-ssa-warn-restrict.cc:269
0x118fdbc check_bounds_or_overlap(pointer_query&, gimple*, tree_node*,
tree_node*, tree_node*, tree_node*, bool, bool)
        /repo/gcc-trunk/gcc/gimple-ssa-warn-restrict.cc:2022
0x11929dc check_bounds_or_overlap(gimple*, tree_node*, tree_node*, tree_node*,
tree_node*, bool, bool)
        /repo/gcc-trunk/gcc/gimple-ssa-warn-restrict.cc:2009
0x11684a2 gimple_fold_builtin_memory_op
        /repo/gcc-trunk/gcc/gimple-fold.cc:992
0x116a363 gimple_fold_builtin
        /repo/gcc-trunk/gcc/gimple-fold.cc:5093
0x116a363 gimple_fold_call
        /repo/gcc-trunk/gcc/gimple-fold.cc:5664
0x116be2b fold_stmt_1
        /repo/gcc-trunk/gcc/gimple-fold.cc:6431
0x2700b2f lower_stmt
        /repo/gcc-trunk/gcc/gimple-low.cc:797
0x270184a lower_sequence
        /repo/gcc-trunk/gcc/gimple-low.cc:229
0x270184a lower_gimple_bind
        /repo/gcc-trunk/gcc/gimple-low.cc:886
0x27019e8 lower_function_body
        /repo/gcc-trunk/gcc/gimple-low.cc:119
0x27019e8 execute
        /repo/gcc-trunk/gcc/gimple-low.cc:206
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-8193-20240117105849-g3340878009a-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-8193-20240117105849-g3340878009a-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.0.1 20240117 (experimental) (GCC)

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

* [Bug tree-optimization/113463] ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset
  2024-01-18  2:55 [Bug tree-optimization/113463] New: ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset zsojka at seznam dot cz
@ 2024-01-18 15:28 ` jakub at gcc dot gnu.org
  2024-01-19  9:02 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-01-18 15:28 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

Untested fix.

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

* [Bug tree-optimization/113463] ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset
  2024-01-18  2:55 [Bug tree-optimization/113463] New: ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset zsojka at seznam dot cz
  2024-01-18 15:28 ` [Bug tree-optimization/113463] " jakub at gcc dot gnu.org
@ 2024-01-19  9:02 ` cvs-commit at gcc dot gnu.org
  2024-01-19  9:05 ` jakub at gcc dot gnu.org
  2024-01-20 17:11 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-19  9:02 UTC (permalink / raw)
  To: gcc-bugs

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

--- 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:df1cd90e32bb17d34f5fdce99bd0377fe1b8e5c6

commit r14-8277-gdf1cd90e32bb17d34f5fdce99bd0377fe1b8e5c6
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Jan 19 10:00:51 2024 +0100

    gimple-ssa-warn-restrict: Only use type range from NOP_EXPR for
non-narrowing conversions [PR113463]

    builtin_memref::extend_offset_range when it sees a NOP_EXPR from
    INTEGRAL_TYPE (to INTEGRAL_TYPE of sizetype/ptrdifftype precision
    given the callers) uses wi::to_offset on TYPE_{MIN,MAX}_VALUE
    of the rhs1 type.  This ICEs with large BITINT_TYPEs - to_offset
    is only supported for precisions up to the offset_int precision
    - but it even doesn't make any sense to do such thing for narrowing
    conversions, their range means the whole sizetype/ptrdifftype range
    and so the normal handling done later on (largest sized supported object)
    is the way to go in that case.

    So, the following patch just restrict this to non-narrowing conversions.

    2024-01-19  Jakub Jelinek  <jakub@redhat.com>

            PR tree-optimization/113463
            * gimple-ssa-warn-restrict.cc
(builtin_memref::extend_offset_range):
            Only look through NOP_EXPRs if rhs1 doesn't have wider type than
            lhs.

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

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

* [Bug tree-optimization/113463] ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset
  2024-01-18  2:55 [Bug tree-optimization/113463] New: ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset zsojka at seznam dot cz
  2024-01-18 15:28 ` [Bug tree-optimization/113463] " jakub at gcc dot gnu.org
  2024-01-19  9:02 ` cvs-commit at gcc dot gnu.org
@ 2024-01-19  9:05 ` jakub at gcc dot gnu.org
  2024-01-20 17:11 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-01-19  9:05 UTC (permalink / raw)
  To: gcc-bugs

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

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> ---
Fixed.

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

* [Bug tree-optimization/113463] ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset
  2024-01-18  2:55 [Bug tree-optimization/113463] New: ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2024-01-19  9:05 ` jakub at gcc dot gnu.org
@ 2024-01-20 17:11 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-20 17:11 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.0

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

end of thread, other threads:[~2024-01-20 17:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-18  2:55 [Bug tree-optimization/113463] New: ICE: in extended_tree, at tree.h:6449 with _BitInt() used as offset zsojka at seznam dot cz
2024-01-18 15:28 ` [Bug tree-optimization/113463] " jakub at gcc dot gnu.org
2024-01-19  9:02 ` cvs-commit at gcc dot gnu.org
2024-01-19  9:05 ` jakub at gcc dot gnu.org
2024-01-20 17:11 ` 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).