re PR tree-optimization/87263 (ICE on valid code at -O1: verify_ssa failed)
authorRichard Biener <rguenther@suse.de>
Thu, 13 Sep 2018 14:15:41 +0000 (14:15 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 13 Sep 2018 14:15:41 +0000 (14:15 +0000)
commit85bc75f87b45903d46555d0e1c013242de5c7c48
treea1bc2b4e51f781ccbbd40d033593d3e6d0561f66
parent08233f0d6eae9d780d787e8c61cbc051bfe6af43
re PR tree-optimization/87263 (ICE on valid code at -O1: verify_ssa failed)

2018-09-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/87263
* tree-ssa-sccvn.c (visit_phi): Revert some earlier changes.
(struct unwind_state): Add max_rpo field.
(do_rpo_vn): Allow up-to-date loop state to be used when not iterating.
Compute max_rpo, the max RPO number a block can be backwards reached
from.  Re-write non-iterating mode to a RPO ordered worklist approach,
separating it from the iterating mode.

* gcc.dg/torture/pr87263.c: New testcase.
* gcc.dg/torture/ssa-fre-2.c: Likewise.
* gcc.dg/torture/ssa-fre-3.c: Likewise.
* gcc.dg/torture/ssa-fre-4.c: Likewise.

From-SVN: r264273
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr87263.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/ssa-fre-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/ssa-fre-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/ssa-fre-4.c [new file with mode: 0644]
gcc/tree-ssa-sccvn.c