This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/85712] [8/9 Regression] ICE in all_phi_incrs_profitable_1 at gcc/gimple-ssa-strength-reduction.c:3479


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
                 CC|                            |wschmidt at gcc dot gnu.org
   Target Milestone|---                         |8.2

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think we've been here before.  stmt_cand_map gets stale somehow.  Oh, it's
actually basis->cand_stmt that is no longer in the IL.  It gets replaced by
replace_one_candidate:

#0  gsi_replace (gsi=0x7fffffffd5b0, stmt=<gimple_assign 0x7ffff669db90>, 
    update_eh_info=false)
    at /space/rguenther/src/gcc-slpcost/gcc/gimple-iterator.c:428
#1  0x0000000001ca03e7 in replace_one_candidate (c=0x2dcd280, i=0, 
    basis_name=<ssa_name 0x7ffff66965a0>)
    at
/space/rguenther/src/gcc-slpcost/gcc/gimple-ssa-strength-reduction.c:3741
#2  0x0000000001ca074b in replace_profitable_candidates (c=0x2dcd280)
    at
/space/rguenther/src/gcc-slpcost/gcc/gimple-ssa-strength-reduction.c:3829
#3  0x0000000001ca09d9 in analyze_candidates_and_replace ()
    at
/space/rguenther/src/gcc-slpcost/gcc/gimple-ssa-strength-reduction.c:3917
#4  0x0000000001ca0bd0 in (anonymous
namespace)::pass_strength_reduction::execute (this=0x2cf1490,
fun=0x7ffff6a5c160)
    at
/space/rguenther/src/gcc-slpcost/gcc/gimple-ssa-strength-reduction.c:3995

I suppose

          gsi_replace (&gsi, copy_stmt, false);
          c->cand_stmt = copy_stmt;

^^^

this is supposed to fix it up.  But we fixup only this and following
(next_interp) candidates - but this one has "previous" ones.

 52  [24] _99 = S.17_130 * iftmp.23_30;
     MULT : (S.17_130 + 0) * iftmp.23_30 : integer(kind=8)
     basis: 49  dependent: 63  sibling: 0
     next-interp: 53  dead-savings: 0

 53  [24] _99 = S.17_130 * iftmp.23_30;
     MULT : (iftmp.23_30 + 0) * S.17_130 : integer(kind=8)
     basis: 48  dependent: 0  sibling: 0
     next-interp: 0  dead-savings: 0


Bill?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]