[Bug tree-optimization/87126] [9 Regression] ICE on valid code at -Os and above on x86_64-linux-gnu: in vn_reference_insert, at tree-ssa-sccvn.c:2698

2018-08-28 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87126

Richard Biener  changed:

   What|Removed |Added

   Keywords|ice-on-valid-code   |
 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Richard Biener  ---
Fixed.

[Bug tree-optimization/87126] [9 Regression] ICE on valid code at -Os and above on x86_64-linux-gnu: in vn_reference_insert, at tree-ssa-sccvn.c:2698

2018-08-28 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87126

--- Comment #3 from Richard Biener  ---
Author: rguenth
Date: Wed Aug 29 06:47:14 2018
New Revision: 263944

URL: https://gcc.gnu.org/viewcvs?rev=263944&root=gcc&view=rev
Log:
2018-08-29  Richard Biener  

PR tree-optimization/87126
* tree-ssa-sccvn.c (vn_reference_insert): Remove assert.

* gcc.dg/tree-ssa/pr87126.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr87126.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-sccvn.c

[Bug tree-optimization/87126] [9 Regression] ICE on valid code at -Os and above on x86_64-linux-gnu: in vn_reference_insert, at tree-ssa-sccvn.c:2698

2018-08-28 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87126

--- Comment #2 from Richard Biener  ---
So when we disentangle the irreducible region we expose a disconnect between
the current execution flow and the RPO iteration.  This means we insert the
load d.2_4 = d; with the VDEF of the later processed store d = e_10; which
then triggers the assert.  We do run into the DEF in vn_reference_lookup_3
but that doesn't handle this simple case given we expect it to be handled
by visiting the def before the use ...

This shows the assert triggers on missed optimizations which means we
can as well remove it.

Better strategies for irreducible regions would include re-computing
RPO order on-the fly when necessary.

[Bug tree-optimization/87126] [9 Regression] ICE on valid code at -Os and above on x86_64-linux-gnu: in vn_reference_insert, at tree-ssa-sccvn.c:2698

2018-08-28 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87126

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2018-08-28
Version|unknown |9.0
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |9.0
Summary|ICE on valid code at -Os|[9 Regression] ICE on valid
   |and above on|code at -Os and above on
   |x86_64-linux-gnu: in|x86_64-linux-gnu: in
   |vn_reference_insert, at |vn_reference_insert, at
   |tree-ssa-sccvn.c:2698   |tree-ssa-sccvn.c:2698
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
Confirmed, mine.