public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/113018] New: ICE in gimple_convert, gimple-fold.cc during the SLP pass
@ 2023-12-14 10:20 fkastl at suse dot cz
  2023-12-14 14:04 ` [Bug tree-optimization/113018] " rguenth at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: fkastl at suse dot cz @ 2023-12-14 10:20 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113018
           Summary: ICE in gimple_convert, gimple-fold.cc during the SLP
                    pass
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, needs-bisection
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fkastl at suse dot cz
  Target Milestone: ---
              Host: x86_64-linux
            Target: aarch64-gnu-linux

While compiling the GCC testsuite testcase gcc.target/aarch64/vect-fmax-fmin.c
with aarch64 crosscompiler:

aarch64-linux-gnu-gcc
/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/gcc.target/aarch64/vect-fmax-fmin.c
-fno-tree-loop-vectorize -Ofast

An ICE occurs:

during GIMPLE pass: slp
In file included from
/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/gcc.target/aarch64/vect-fmax-fmin.c:8:
/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x:
In function ‘maxv_f32’:
/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x:5:7:
internal compiler error: Segmentation fault
    5 | float maxv_f32 (pRF32 a)
      |       ^~~~~~~~
0xd938df crash_signal
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/toplev.cc:316
0xa7e033 gimple_convert(gimple_stmt_iterator*, bool, gsi_iterator_update,
unsigned int, tree_node*, tree_node*)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/gimple-fold.cc:9168
0x10274cf gimple_convert(gimple**, tree_node*, tree_node*)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/gimple-fold.h:183
0x10274cf vectorize_slp_instance_root_stmt(_slp_tree*, _slp_instance*)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:9401
0x10287aa vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>
const&)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:9639
0x102ac51 vect_slp_region
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:7770
0x102c19c vect_slp_bbs
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:7870
0x102c688 vect_slp_function(function*)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:7992
0x1033f59 execute
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vectorizer.cc:1531
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.

My guess is that the segmentation fault is caused by SLP passing a null tree to
gimple_convert.

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

* [Bug tree-optimization/113018] ICE in gimple_convert, gimple-fold.cc during the SLP pass
  2023-12-14 10:20 [Bug tree-optimization/113018] New: ICE in gimple_convert, gimple-fold.cc during the SLP pass fkastl at suse dot cz
@ 2023-12-14 14:04 ` rguenth at gcc dot gnu.org
  2023-12-14 14:27 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-12-14 14:04 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-12-14
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look.

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

* [Bug tree-optimization/113018] ICE in gimple_convert, gimple-fold.cc during the SLP pass
  2023-12-14 10:20 [Bug tree-optimization/113018] New: ICE in gimple_convert, gimple-fold.cc during the SLP pass fkastl at suse dot cz
  2023-12-14 14:04 ` [Bug tree-optimization/113018] " rguenth at gcc dot gnu.org
@ 2023-12-14 14:27 ` rguenth at gcc dot gnu.org
  2023-12-14 15:57 ` cvs-commit at gcc dot gnu.org
  2023-12-14 15:57 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-12-14 14:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, so we're running into

  /* When a BB reduction doesn't have an even number of lanes
     strip it down, treating the remaining lane as scalar.
     ???  Selecting the optimal set of lanes to vectorize would be nice
     but SLP build for all lanes will fail quickly because we think
     we're going to need unrolling.  */
  if (kind == slp_inst_kind_bb_reduc
      && (scalar_stmts.length () & 1))
    remain.safe_insert (0, gimple_get_lhs (scalar_stmts.pop ()->stmt));

pushing the "LHS" of an asm.

__asm__("" : "=w" s_10 : "0" _1);

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

* [Bug tree-optimization/113018] ICE in gimple_convert, gimple-fold.cc during the SLP pass
  2023-12-14 10:20 [Bug tree-optimization/113018] New: ICE in gimple_convert, gimple-fold.cc during the SLP pass fkastl at suse dot cz
  2023-12-14 14:04 ` [Bug tree-optimization/113018] " rguenth at gcc dot gnu.org
  2023-12-14 14:27 ` rguenth at gcc dot gnu.org
@ 2023-12-14 15:57 ` cvs-commit at gcc dot gnu.org
  2023-12-14 15:57 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-12-14 15:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- 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:4e9b2c94e45f5991a472fb639fb2baa6aa42b76b

commit r14-6552-g4e9b2c94e45f5991a472fb639fb2baa6aa42b76b
Author: Richard Biener <rguenther@suse.de>
Date:   Thu Dec 14 16:00:50 2023 +0100

    tree-optimization/113018 - ICE with BB reduction vectorization

    When BB reduction vectorization picks up a chain with an ASM def
    in it and that's inside the vectorized region we fail to get its
    LHS.  Instead of trying to get the correct def the following
    avoids vectorizing such def and instead keeps it as def to add
    in the epilog.

            PR tree-optimization/113018
            * tree-vect-slp.cc (vect_slp_check_for_roots): Only start
            SLP discovery from stmts with a LHS.

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

* [Bug tree-optimization/113018] ICE in gimple_convert, gimple-fold.cc during the SLP pass
  2023-12-14 10:20 [Bug tree-optimization/113018] New: ICE in gimple_convert, gimple-fold.cc during the SLP pass fkastl at suse dot cz
                   ` (2 preceding siblings ...)
  2023-12-14 15:57 ` cvs-commit at gcc dot gnu.org
@ 2023-12-14 15:57 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-12-14 15:57 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

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

end of thread, other threads:[~2023-12-14 15:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-14 10:20 [Bug tree-optimization/113018] New: ICE in gimple_convert, gimple-fold.cc during the SLP pass fkastl at suse dot cz
2023-12-14 14:04 ` [Bug tree-optimization/113018] " rguenth at gcc dot gnu.org
2023-12-14 14:27 ` rguenth at gcc dot gnu.org
2023-12-14 15:57 ` cvs-commit at gcc dot gnu.org
2023-12-14 15:57 ` 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).