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

            Bug ID: 109491
           Summary: Segfault in tree-ssa-sccvn.cc:expressions_equal_p()
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pthaugen at gcc dot gnu.org
                CC: bergner at gcc dot gnu.org, segher at kernel dot 
crashing.org
  Target Milestone: ---
              Host: powerpc64
            Target: powerpc64
             Build: powerpc64

Created attachment 54845
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54845&action=edit
Reduced testcase

Hitting the following segfault on the attached testcase (sorry for size, but it
is about 1% of original size). Appears to only happen with GCC 13, compiles
fine with GCC 12.

~/install/gcc/trunk/bin/g++ -mcpu=power8 -std=c++14 -S -O2 partial.ii 
(...misc warnings...)
during GIMPLE pass: fre
partial.ii: In function ‘void gemm_complex(const DataMapper&, const
complex<float>*, const complex<float>*, long int, long int, long int,
complex<float>, long int, long int, long int, long int) [with
<template-parameter-1-1> = complex<float>; <template-parameter-1-2> =
complex<float>; <template-parameter-1-3> = complex<float>;
<template-parameter-1-4> = float; Packet = __vector(4) float; Packetc =
Packet2cf; <template-parameter-1-7> = __vector(4) float; DataMapper =
blas_data_mapper; int accRows = 4; int accCols = 4; int ConjugateLhs = 0; int
ConjugateRhs = 0; int LhsIsReal = 0; int RhsIsReal = 0]’:
partial.ii:1096:6: internal compiler error: Segmentation fault
 1096 | void gemm_complex(const DataMapper &res, const complex<float> *blockAc,
      |      ^~~~~~~~~~~~
0x10f6fadb crash_signal
        /home/pthaugen/src/gcc/trunk/gcc/gcc/toplev.cc:314
0x11222818 expressions_equal_p(tree_node*, tree_node*, bool)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:6411
0x112229a7 vn_reference_op_eq
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:216
0x11222bfb vn_reference_eq(vn_reference_s const*, vn_reference_s const*)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:858
0x11243837 vn_reference_hasher::equal(vn_reference_s const*, vn_reference_s
const*)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:250
0x11243837 hash_table<vn_reference_hasher, false,
xcallocator>::find_slot_with_hash(vn_reference_s* const&, unsigned int,
insert_option)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/hash-table.h:1059
0x1122f43b vn_reference_lookup_2
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:2336
0x11101b8f walk_non_aliased_vuses(ao_ref*, tree_node*, bool, void* (*)(ao_ref*,
tree_node*, void*), void* (*)(ao_ref*, tree_node*, void*, translate_flags*),
tree_node* (*)(tree_node*), unsigned int&, void*)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-alias.cc:3847
0x11233447 vn_reference_lookup(tree_node*, tree_node*, vn_lookup_kind,
vn_reference_s**, bool, tree_node**, tree_node*, bool)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:3967
0x11238cc7 visit_reference_op_load
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:5683
0x11238cc7 visit_stmt
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:6187
0x1123986f process_bb
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:7918
0x1123bcdb do_rpo_vn_1
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:8518
0x1123db83 execute
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-sccvn.cc:8676
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.

Reply via email to