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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-invalid-code         |ice-on-valid-code
           Priority|P3                          |P2
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2018-10-01
                 CC|                            |wschmidt at gcc dot gnu.org
   Target Milestone|---                         |7.4
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

#1  0x0000000001e11b98 in create_add_on_incoming_edge (c=0x2fc4000, basis_name=
    <ssa_name 0x7ffff69e12d0>, increment=..., 
    e=<edge 0x7ffff69d6d20 (5 -> 6)>, loc=2147483670, known_stride=false)
    at /tmp/trunk2/gcc/gimple-ssa-strength-reduction.c:2344
2344              gcc_unreachable ();
(gdb) p increment
$1 = {<fixed_wide_int_storage<192>> = {val = {-2, -1, 140737488345120, 
      10789461}, len = 1}, static is_sign_extended = <optimized out>}

(so the value is -2)

from

      /* If the phi argument is the base name of the CAND_PHI, then
         this incoming arc should use the hidden basis.  */
      if (operand_equal_p (arg, phi_cand->base_expr, 0))
        if (basis->index == 0)
          feeding_def = gimple_assign_lhs (basis->cand_stmt);
        else
          {
            widest_int incr = -basis->index;
            feeding_def = create_add_on_incoming_edge (c, basis_name, incr,
                                                       e, loc, known_stride);
          }

we get there with basis->index == 2, eventually generated from

_16 = _15 + 2;

Reply via email to