public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/113145] New: [14 regression] ICE when building mit-krb5-1.21.2
@ 2023-12-26 13:37 sjames at gcc dot gnu.org
  2023-12-26 13:37 ` [Bug tree-optimization/113145] " sjames at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: sjames at gcc dot gnu.org @ 2023-12-26 13:37 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113145
           Summary: [14 regression] ICE when building mit-krb5-1.21.2
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sjames at gcc dot gnu.org
                CC: tnfchris at gcc dot gnu.org
  Target Milestone: ---

Created attachment 56944
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56944&action=edit
spnego_mech.so.i.xz

```
$ gcc -c spnego_mech.so.i -O3 -march=znver2
/var/tmp/portage/app-crypt/mit-krb5-1.21.2/work/krb5-1.21.2/src/lib/gssapi/spnego/spnego_mech.c:
In function ‘spnego_gss_display_status’:
/var/tmp/portage/app-crypt/mit-krb5-1.21.2/work/krb5-1.21.2/src/lib/gssapi/spnego/spnego_mech.c:1791:1:
error: dominator of 18 should be 29, not 3
 1791 | spnego_gss_display_status(
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
during GIMPLE pass: vect
/var/tmp/portage/app-crypt/mit-krb5-1.21.2/work/krb5-1.21.2/src/lib/gssapi/spnego/spnego_mech.c:1791:1:
internal compiler error: in verify_dominators, at dominance.cc:1194
0x560e9cdce5ea verify_dominators(cdi_direction)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/dominance.cc:1194
0x560e9dfd0199 checking_verify_dominators(cdi_direction)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/dominance.h:76
0x560e9dfd0199 slpeel_tree_duplicate_loop_to_edge_cfg(loop*, edge_def*, loop*,
edge_def*, edge_def*, edge_def**, bool, vec<basic_block_def*, va_heap,
vl_ptr>*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-vect-loop-manip.cc:1846
0x560e9dfd2b38 vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*,
tree_node**, tree_node**, tree_node**, int, bool, bool, tree_node**)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-vect-loop-manip.cc:3307
0x560e9dfc1dd7 vect_transform_loop(_loop_vec_info*, gimple*)
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-vect-loop.cc:11911
0x560e9e00a2f2 vect_transform_loops
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-vectorizer.cc:1006
0x560e9e00a956 try_vectorize_loop_1
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-vectorizer.cc:1152
0x560e9e00a956 try_vectorize_loop
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-vectorizer.cc:1182
0x560e9e00af74 execute
       
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/tree-vectorizer.cc:1298
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.
```

```
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with:
/var/tmp/portage/sys-devel/gcc-14.0.0.9999/work/gcc-14.0.0.9999/configure
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr
--bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14
--disable-silent-rules --disable-dependency-tracking
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python
--enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt
--disable-werror --with-system-zlib --enable-nls --without-included-gettext
--disable-libunwind-exceptions --enable-checking=yes,extra,rtl,df
--with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.0.0 p,
commit 2250dc0cc8c46999ad1c1d79b9aeed9056459bb6' --with-gcc-major-version-only
--enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared
--enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
--enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point
--enable-targets=all --enable-libgomp --disable-libssp --disable-libada
--disable-cet --disable-systemtap --disable-valgrind-annotations
--disable-vtable-verify --disable-libvtv --with-zstd --without-isl
--enable-default-pie --enable-host-pie --disable-host-bind-now
--enable-default-ssp
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.0.0 20231225 (experimental)
0beeddd6b1b1cb41104c4df925323e8fc0437ba8 (Gentoo 14.0.0 p, commit
2250dc0cc8c46999ad1c1d79b9aeed9056459bb6)
```

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

* [Bug tree-optimization/113145] [14 regression] ICE when building mit-krb5-1.21.2
  2023-12-26 13:37 [Bug tree-optimization/113145] New: [14 regression] ICE when building mit-krb5-1.21.2 sjames at gcc dot gnu.org
@ 2023-12-26 13:37 ` sjames at gcc dot gnu.org
  2024-01-05 13:11 ` [Bug tree-optimization/113145] [14 regression] ICE in verify_dominators when building mit-krb5-1.21.2 since r14-6822-g01f4251b8775c8 jamborm at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: sjames at gcc dot gnu.org @ 2023-12-26 13:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Sam James <sjames at gcc dot gnu.org> ---
Created attachment 56945
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56945&action=edit
reduced.i

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

* [Bug tree-optimization/113145] [14 regression] ICE in verify_dominators when building mit-krb5-1.21.2 since r14-6822-g01f4251b8775c8
  2023-12-26 13:37 [Bug tree-optimization/113145] New: [14 regression] ICE when building mit-krb5-1.21.2 sjames at gcc dot gnu.org
  2023-12-26 13:37 ` [Bug tree-optimization/113145] " sjames at gcc dot gnu.org
@ 2024-01-05 13:11 ` jamborm at gcc dot gnu.org
  2024-01-05 13:18 ` tnfchris at gcc dot gnu.org
  2024-01-10 12:54 ` cvs-commit at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jamborm at gcc dot gnu.org @ 2024-01-05 13:11 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Jambor <jamborm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[14 regression] ICE when    |[14 regression] ICE in
                   |building mit-krb5-1.21.2    |verify_dominators when
                   |                            |building mit-krb5-1.21.2
                   |                            |since
                   |                            |r14-6822-g01f4251b8775c8
   Last reconfirmed|                            |2024-01-05
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
                 CC|                            |jamborm at gcc dot gnu.org

--- Comment #2 from Martin Jambor <jamborm at gcc dot gnu.org> ---
This has been introduced with r14-6822-g01f4251b8775c8 (middle-end: Support
vectorization of loops with multiple exits).

I have reduced another testcase from 526.blender_r, which however requires
-Ofast -march=x86-64-v3 -fprofile-generate so the original is probably better:

void *check_for_dupid_lb_0;
char check_for_dupid_name;
int check_for_dupid_nr;
void BLI_split_name_num();
char check_for_dupid() {
  int a;
  while (1) {
    for (; check_for_dupid_lb_0;)
      BLI_split_name_num();
    a = 0;
    for (; a < 64; a++)
      if (a >= check_for_dupid_nr)
        break;
    if (a && check_for_dupid_name)
      return 1;
  }
}

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

* [Bug tree-optimization/113145] [14 regression] ICE in verify_dominators when building mit-krb5-1.21.2 since r14-6822-g01f4251b8775c8
  2023-12-26 13:37 [Bug tree-optimization/113145] New: [14 regression] ICE when building mit-krb5-1.21.2 sjames at gcc dot gnu.org
  2023-12-26 13:37 ` [Bug tree-optimization/113145] " sjames at gcc dot gnu.org
  2024-01-05 13:11 ` [Bug tree-optimization/113145] [14 regression] ICE in verify_dominators when building mit-krb5-1.21.2 since r14-6822-g01f4251b8775c8 jamborm at gcc dot gnu.org
@ 2024-01-05 13:18 ` tnfchris at gcc dot gnu.org
  2024-01-10 12:54 ` cvs-commit at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2024-01-05 13:18 UTC (permalink / raw)
  To: gcc-bugs

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

Tamar Christina <tnfchris at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #3 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Oh I had missed this one, both those cases already fixed in one of the
submitted patches. I think 113144 so I'll mark it as a dup.

With the submitted patches both vectorize correctly.

*** This bug has been marked as a duplicate of bug 113144 ***

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

* [Bug tree-optimization/113145] [14 regression] ICE in verify_dominators when building mit-krb5-1.21.2 since r14-6822-g01f4251b8775c8
  2023-12-26 13:37 [Bug tree-optimization/113145] New: [14 regression] ICE when building mit-krb5-1.21.2 sjames at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-01-05 13:18 ` tnfchris at gcc dot gnu.org
@ 2024-01-10 12:54 ` cvs-commit at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-10 12:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tamar Christina <tnfchris@gcc.gnu.org>:

https://gcc.gnu.org/g:9e7c77c7933b1bb0dd07214333e52a9a896fa349

commit r14-7101-g9e7c77c7933b1bb0dd07214333e52a9a896fa349
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Wed Jan 10 12:51:54 2024 +0000

    middle-end: Fix dominators updates when peeling with multiple exits
[PR113144]

    When we peel at_exit we are moving the new loop at the exit of the previous
    loop.  This means that the blocks outside the loop dat the previous loop
used to
    dominate are no longer being dominated by it.

    The new dominators however are hard to predict since if the loop has
multiple
    exits and all the exits are an "early" one then we always execute the
scalar
    loop.  In this case the scalar loop can completely dominate the new loop.

    If we later have skip_vector then there's an additional skip edge added
that
    might change the dominators.

    The previous patch would force an update of all blocks reachable from the
new
    exits.  This one updates *only* blocks that we know the scalar exits
dominated.

    For the examples this reduces the blocks to update from 18 to 3.

    gcc/ChangeLog:

            PR tree-optimization/113144
            PR tree-optimization/113145
            * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg):
            Update all BB that the original exits dominated.

    gcc/testsuite/ChangeLog:

            PR tree-optimization/113144
            PR tree-optimization/113145
            * gcc.dg/vect/vect-early-break_94-pr113144.c: New test.

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

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

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-26 13:37 [Bug tree-optimization/113145] New: [14 regression] ICE when building mit-krb5-1.21.2 sjames at gcc dot gnu.org
2023-12-26 13:37 ` [Bug tree-optimization/113145] " sjames at gcc dot gnu.org
2024-01-05 13:11 ` [Bug tree-optimization/113145] [14 regression] ICE in verify_dominators when building mit-krb5-1.21.2 since r14-6822-g01f4251b8775c8 jamborm at gcc dot gnu.org
2024-01-05 13:18 ` tnfchris at gcc dot gnu.org
2024-01-10 12:54 ` cvs-commit 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).