public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code
@ 2021-09-23 20:34 ian at airs dot com
  2021-09-24  0:40 ` [Bug tree-optimization/102474] " pinskia at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: ian at airs dot com @ 2021-09-23 20:34 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 102474
           Summary: [12 regression] Crash in ipa-modref compiling Go code
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: blocker
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ian at airs dot com
  Target Milestone: ---

Compiling this Go program with -O1 -fno-strict-aliasing crashes the compiler in
ipa-modref.

package p

type S struct {
        f1 string
        f2 interface{}
        f3 string
        f4 struct {
                f41 uint32
                f42 struct {
                        f421 int32
                        f422 uint32
                }
        }
        f5 struct {
                f51 *byte
                f52 *byte
                f53 *byte
        }
        f6 struct {
                f61 int32
        }
        f7 struct {
                f71 uint64
                f72 int64
                f73 *byte
        }
        f8 *byte
}

The crash I see is:

during IPA pass: modref
go1: internal compiler error: in forced_merge, at ipa-modref-tree.h:351
0xcbaff1 modref_access_node::forced_merge(modref_access_node const&, bool)
        ../../trunk/gcc/ipa-modref-tree.h:351
0xcbe389 modref_ref_node<int>::insert_access(modref_access_node, unsigned long,
bool)
        ../../trunk/gcc/ipa-modref-tree.h:575
0xcbe8e3 modref_tree<int>::insert(int, int, modref_access_node, bool)
        ../../trunk/gcc/ipa-modref-tree.h:844
0xcb65de propagate_unknown_call
        ../../trunk/gcc/ipa-modref.c:3418
0xcb6a69 modref_propagate_in_scc
        ../../trunk/gcc/ipa-modref.c:3598
0xcb740e execute
        ../../trunk/gcc/ipa-modref.c:3968
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

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

* [Bug tree-optimization/102474] [12 regression] Crash in ipa-modref compiling Go code
  2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
@ 2021-09-24  0:40 ` pinskia at gcc dot gnu.org
  2021-09-24  0:42 ` [Bug ipa/102474] " pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-24  0:40 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
   Target Milestone|---                         |12.0

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

* [Bug ipa/102474] [12 regression] Crash in ipa-modref compiling Go code
  2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
  2021-09-24  0:40 ` [Bug tree-optimization/102474] " pinskia at gcc dot gnu.org
@ 2021-09-24  0:42 ` pinskia at gcc dot gnu.org
  2021-09-24  6:53 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-24  0:42 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org
          Component|tree-optimization           |ipa

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
      /* We assume that containment and lossless merging
         was tested earlier.  */
      gcc_checking_assert (!contains (a) && !a.contains (*this)
                           && !merge (a, record_adjustments));
      gcc_checking_assert (parm_offset_known && a.parm_offset_known);

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

* [Bug ipa/102474] [12 regression] Crash in ipa-modref compiling Go code
  2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
  2021-09-24  0:40 ` [Bug tree-optimization/102474] " pinskia at gcc dot gnu.org
  2021-09-24  0:42 ` [Bug ipa/102474] " pinskia at gcc dot gnu.org
@ 2021-09-24  6:53 ` rguenth at gcc dot gnu.org
  2021-09-27 12:38 ` marxin at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-09-24  6:53 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

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

* [Bug ipa/102474] [12 regression] Crash in ipa-modref compiling Go code
  2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
                   ` (2 preceding siblings ...)
  2021-09-24  6:53 ` rguenth at gcc dot gnu.org
@ 2021-09-27 12:38 ` marxin at gcc dot gnu.org
  2021-09-28 23:24 ` ian at airs dot com
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-09-27 12:38 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-09-27
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

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

* [Bug ipa/102474] [12 regression] Crash in ipa-modref compiling Go code
  2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
                   ` (3 preceding siblings ...)
  2021-09-27 12:38 ` marxin at gcc dot gnu.org
@ 2021-09-28 23:24 ` ian at airs dot com
  2021-09-30 11:55 ` marxin at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ian at airs dot com @ 2021-09-28 23:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Ian Lance Taylor <ian at airs dot com> ---
I did a git bisect, and it reported that the problem was introduced by

commit f5ff3a8ed4ca91737c16757ce4938cf2e0187fc0
Author: Jan Hubicka <hubicka@ucw.cz>
Date:   Sat Aug 28 20:57:08 2021 +0200

    Improve handling of table overflows in modref_ref_node

    gcc/ChangeLog:

            * ipa-modref-tree.h (modref_access_node::merge): Break out
            logic combining offsets and logic merging ranges to ...
            (modref_access_node::combined_offsets): ... here
            (modref_access_node::update2): ... here
            (modref_access_node::closer_pair_p): New member function.
            (modref_access_node::forced_merge): New member function.
            (modre_ref_node::insert): Do merging when table is full.

    gcc/testsuite/ChangeLog:

            * gcc.dg/tree-ssa/modref-9.c: New test.

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

* [Bug ipa/102474] [12 regression] Crash in ipa-modref compiling Go code
  2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
                   ` (4 preceding siblings ...)
  2021-09-28 23:24 ` ian at airs dot com
@ 2021-09-30 11:55 ` marxin at gcc dot gnu.org
  2021-10-06 14:57 ` hubicka at gcc dot gnu.org
  2021-10-07 18:50 ` ian at airs dot com
  7 siblings, 0 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-09-30 11:55 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot gnu.org

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

* [Bug ipa/102474] [12 regression] Crash in ipa-modref compiling Go code
  2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
                   ` (5 preceding siblings ...)
  2021-09-30 11:55 ` marxin at gcc dot gnu.org
@ 2021-10-06 14:57 ` hubicka at gcc dot gnu.org
  2021-10-07 18:50 ` ian at airs dot com
  7 siblings, 0 replies; 9+ messages in thread
From: hubicka at gcc dot gnu.org @ 2021-10-06 14:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
may be dup of PR102581 (where I attached fix I am testing)

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

* [Bug ipa/102474] [12 regression] Crash in ipa-modref compiling Go code
  2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
                   ` (6 preceding siblings ...)
  2021-10-06 14:57 ` hubicka at gcc dot gnu.org
@ 2021-10-07 18:50 ` ian at airs dot com
  7 siblings, 0 replies; 9+ messages in thread
From: ian at airs dot com @ 2021-10-07 18:50 UTC (permalink / raw)
  To: gcc-bugs

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

Ian Lance Taylor <ian at airs dot com> changed:

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

--- Comment #4 from Ian Lance Taylor <ian at airs dot com> ---
This was fixed by the fix for PR 102581.

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

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

end of thread, other threads:[~2021-10-07 18:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-23 20:34 [Bug tree-optimization/102474] New: [12 regression] Crash in ipa-modref compiling Go code ian at airs dot com
2021-09-24  0:40 ` [Bug tree-optimization/102474] " pinskia at gcc dot gnu.org
2021-09-24  0:42 ` [Bug ipa/102474] " pinskia at gcc dot gnu.org
2021-09-24  6:53 ` rguenth at gcc dot gnu.org
2021-09-27 12:38 ` marxin at gcc dot gnu.org
2021-09-28 23:24 ` ian at airs dot com
2021-09-30 11:55 ` marxin at gcc dot gnu.org
2021-10-06 14:57 ` hubicka at gcc dot gnu.org
2021-10-07 18:50 ` ian at airs dot com

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