public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3)
@ 2024-02-23 16:14 sjames at gcc dot gnu.org
  2024-02-23 16:15 ` [Bug middle-end/114081] " sjames at gcc dot gnu.org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-02-23 16:14 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 114081
           Summary: [14 regression] ICE in verify_dominators when building
                    php-8.3.3 (error: dominator of 16 should be 111, not
                    3)
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sjames at gcc dot gnu.org
  Target Milestone: ---

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

(I need to work around another problem with broken unwinding, so someone else
will need to post a proper bt here.)

```
$ x86_64-pc-linux-gnu-cc -Iext/filter/
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/filter/
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/include
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/main
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli
-I/usr/include/valgrind
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/date/lib
-I/usr/include/libxml2
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/mbstring/libmbfl
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/mbstring/libmbfl/mbfl
-I/usr/include/pspell
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/TSRM
-I/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/Zend  -D_GNU_SOURCE 
-fno-common -Wstrict-prototypes -Wformat-truncation -Wlogical-op
-Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-unused-parameter
-Wno-sign-compare -O3 -march=native -mtls-dialect=gnu2
-fno-semantic-interposition -pipe -fno-vect-cost-model -Wa,-O2
-Wa,-mtune=znver2 -fdiagnostics-color=always -fdiagnostics-urls=never
-frecord-gcc-switches -Wreturn-type -Walloc-size -Wfree-nonheap-object
-Wstrict-aliasing=2 -Wbuiltin-declaration-mismatch -Wformat -Wformat-security
-Waddress -Warray-bounds -Wfree-nonheap-object -Wint-to-pointer-cast -Wmain
-Wnonnull -Wodr -Wreturn-type -Wsizeof-pointer-memaccess -Wstrict-aliasing
-Wstring-compare -Wuninitialized -Wvarargs -fvisibility=hidden
-Wimplicit-fallthrough=1 -DZEND_SIGNALS   -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1
-c /var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/filter/filter.c
-o ext/filter/filter.lo  -MMD -MF ext/filter/filter.dep -MT
ext/filter/filter.lo -save-temps
x86_64-pc-linux-gnu-cc: warning: ‘-pipe’ ignored because ‘-save-temps’
specified
/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/filter/filter.c:
In function ‘php_zval_filter.constprop’:
/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/filter/filter.c:247:13:
error: dominator of 16 should be 111, not 3
  247 | static void php_zval_filter(zval *value, zend_long filter, zend_long
flags, zval *options, char* charset, bool copy) /* {{{ */
      |             ^~~~~~~~~~~~~~~
during GIMPLE pass: vect
/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/filter/filter.c:247:13:
internal compiler error: in verify_dominators, at dominance.cc:1194
0x563590c8a390 verify_dominators(cdi_direction) [clone .constprop.0]
       
/usr/src/debug/sys-devel/gcc-14.0.9999/gcc-14.0.9999/gcc/dominance.cc:1194

/var/tmp/portage/dev-lang/php-8.3.3/work/sapis-build/cli/ext/filter/filter.c:247:13:
internal compiler error: Segmentation fault
```

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3)
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
@ 2024-02-23 16:15 ` sjames at gcc dot gnu.org
  2024-02-23 17:48 ` pinskia at gcc dot gnu.org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-02-23 16:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Sam James <sjames at gcc dot gnu.org> ---
I can reproduce with: gcc -c ./ext/filter/filter.i -march=znver2
-fno-vect-cost-model -O3.

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3)
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
  2024-02-23 16:15 ` [Bug middle-end/114081] " sjames at gcc dot gnu.org
@ 2024-02-23 17:48 ` pinskia at gcc dot gnu.org
  2024-02-23 18:18 ` pinskia at gcc dot gnu.org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-02-23 17:48 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.0
           Keywords|                            |ice-on-valid-code
                 CC|                            |pinskia at gcc dot gnu.org

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3)
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
  2024-02-23 16:15 ` [Bug middle-end/114081] " sjames at gcc dot gnu.org
  2024-02-23 17:48 ` pinskia at gcc dot gnu.org
@ 2024-02-23 18:18 ` pinskia at gcc dot gnu.org
  2024-02-23 18:18 ` pinskia at gcc dot gnu.org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-02-23 18:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 57515
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57515&action=edit
Reduced

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3)
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-02-23 18:18 ` pinskia at gcc dot gnu.org
@ 2024-02-23 18:18 ` pinskia at gcc dot gnu.org
  2024-02-23 18:21 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-02-23 18:18 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2024-02-23

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3)
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-02-23 18:18 ` pinskia at gcc dot gnu.org
@ 2024-02-23 18:21 ` pinskia at gcc dot gnu.org
  2024-02-23 18:28 ` [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822 jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-02-23 18:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Sam James from comment #1)
> I can reproduce with: gcc -c ./ext/filter/filter.i -march=znver2
> -fno-vect-cost-model -O3.

`-O3 -fno-vect-cost-model -mavx2` is enough with my reduced testcase.

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2024-02-23 18:21 ` pinskia at gcc dot gnu.org
@ 2024-02-23 18:28 ` jakub at gcc dot gnu.org
  2024-02-23 18:28 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-02-23 18:28 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |tnfchris at gcc dot gnu.org
            Summary|[14 regression] ICE in      |[14 regression] ICE in
                   |verify_dominators when      |verify_dominators when
                   |building php-8.3.3 (error:  |building php-8.3.3 (error:
                   |dominator of 16 should be   |dominator of 16 should be
                   |111, not 3)                 |111, not 3) since r14-6822

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Bisected to r14-6822-g01f4251b8775c832a92d55e2df57c9ac72eaceef

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2024-02-23 18:28 ` [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822 jakub at gcc dot gnu.org
@ 2024-02-23 18:28 ` jakub at gcc dot gnu.org
  2024-02-23 19:04 ` tnfchris at gcc dot gnu.org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-02-23 18:28 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2024-02-23 18:28 ` jakub at gcc dot gnu.org
@ 2024-02-23 19:04 ` tnfchris at gcc dot gnu.org
  2024-02-25 15:43 ` sjames at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2024-02-23 19:04 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |tnfchris at gcc dot gnu.org

--- Comment #6 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
slightly cleaned up testcase

---
typedef struct filter_list_entry {
  const char *name;
  int id;
  void (*function)();
} filter_list_entry;

static const filter_list_entry filter_list[9] = {0};

void php_zval_filter(int filter, int id1) {
  filter_list_entry filter_func;

  int size = 9;
  for (int i = 0; i < size; ++i) {
    if (filter_list[i].id == filter) {
      filter_func = filter_list[i];
      goto done;
    }
  }

#pragma GCC novector
  for (int i = 0; i < size; ++i) {
    if (filter_list[i].id == 0x0204) {
      filter_func = filter_list[i];
      goto done;
    }
  }
done:
  if (!filter_func.id)
    filter_func.function();
}
---

seems to happen because it's doing an inner loop vect with two loops that have
early exits to the same destination.

      if (multiple_exits_p)
        {
          update_loop = new_loop;
          doms = get_all_dominated_blocks (CDI_DOMINATORS, loop->header);
          for (unsigned i = 0; i < doms.length (); ++i)
            if (flow_bb_inside_loop_p (loop, doms[i]))
              doms.unordered_remove (i);
        }

was supposed to update the dominators but something goes wrong.

Mine, but for monday..

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2024-02-23 19:04 ` tnfchris at gcc dot gnu.org
@ 2024-02-25 15:43 ` sjames at gcc dot gnu.org
  2024-02-27  8:12 ` cvs-commit at gcc dot gnu.org
  2024-02-27  8:12 ` rguenth at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-02-25 15:43 UTC (permalink / raw)
  To: gcc-bugs

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

Sam James <sjames at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2024-02-25 15:43 ` sjames at gcc dot gnu.org
@ 2024-02-27  8:12 ` cvs-commit at gcc dot gnu.org
  2024-02-27  8:12 ` rguenth at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-02-27  8:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 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:8a5d9409584aeb777b06f9c19c7d1a3552d496ad

commit r14-9191-g8a5d9409584aeb777b06f9c19c7d1a3552d496ad
Author: Richard Biener <rguenther@suse.de>
Date:   Mon Feb 26 15:17:43 2024 +0100

    tree-optimization/114081 - dominator update for prologue peeling

    The following implements manual update for multi-exit loop prologue
    peeling during vectorization.

            PR tree-optimization/114081
            * tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg):
            Perform manual dominator update for prologue peeling.
            (vect_do_peeling): Properly update dominators after adding the
            prologue-around guard.

            * gcc.dg/vect/vect-early-break_121-pr114081.c: New testcase.

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

* [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822
  2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2024-02-27  8:12 ` cvs-commit at gcc dot gnu.org
@ 2024-02-27  8:12 ` rguenth at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-02-27  8:12 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
The testcase is now fixed for me.

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

end of thread, other threads:[~2024-02-27  8:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-23 16:14 [Bug middle-end/114081] New: [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) sjames at gcc dot gnu.org
2024-02-23 16:15 ` [Bug middle-end/114081] " sjames at gcc dot gnu.org
2024-02-23 17:48 ` pinskia at gcc dot gnu.org
2024-02-23 18:18 ` pinskia at gcc dot gnu.org
2024-02-23 18:18 ` pinskia at gcc dot gnu.org
2024-02-23 18:21 ` pinskia at gcc dot gnu.org
2024-02-23 18:28 ` [Bug middle-end/114081] [14 regression] ICE in verify_dominators when building php-8.3.3 (error: dominator of 16 should be 111, not 3) since r14-6822 jakub at gcc dot gnu.org
2024-02-23 18:28 ` jakub at gcc dot gnu.org
2024-02-23 19:04 ` tnfchris at gcc dot gnu.org
2024-02-25 15:43 ` sjames at gcc dot gnu.org
2024-02-27  8:12 ` cvs-commit at gcc dot gnu.org
2024-02-27  8:12 ` 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).