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

--- Comment #189 from Kazumoto Kojima <kkojima at gcc dot gnu.org> ---
There is another segfault during compiling libgcc/fp-bit.c.
In that case, the 2nd visit to tree-ssa-sccvn.cc:3567 in vn_reference_lookup_3

      FOR_EACH_VEC_ELT (rhs, j, vro)
        vr->operands[i + 1 + j] = *vro;

shows a bad *vro in the 2nd iteration of this FOR_EACH_VEC_ELT:

(gdb) p *vro
$13 = {opcode = 0x17, clique = 0x0, base = 0x19, reverse = 0x0, align = 0x0, 
  off = {coeffs = {0x1a0000001b}}, type = 0x1c, op0 = 0x1e, op1 = 0x20, 
  op2 = 0x21}

where the type and op[0-2] fields are pointers with wrong value.
The fault is avoided with compiling tree-ssa-sccvn.cc and tree-ssa-alias.cc
with -O0 -mlra.  This issue may be hard to investigate because the function
vn_reference_lookup_3 is huge and complex.

Reply via email to