[Bug middle-end/85989] [6 Regression] Incorrect result for example involving unary minus in a loop

2018-06-23 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85989

rsandifo at gcc dot gnu.org  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from rsandifo at gcc dot gnu.org  
---
Now fixed on all active branches.

Thanks for reporting the bug.

[Bug middle-end/85989] [6 Regression] Incorrect result for example involving unary minus in a loop

2018-06-23 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85989

--- Comment #8 from rsandifo at gcc dot gnu.org  
---
Author: rsandifo
Date: Sat Jun 23 16:18:36 2018
New Revision: 261985

URL: https://gcc.gnu.org/viewcvs?rev=261985=gcc=rev
Log:
Fix phi backedge detection in backprop (PR85989)

Backport trunk r261064.

2018-06-23  Richard Sandiford  

gcc/
PR tree-optimization/85989
* gimple-ssa-backprop.c (backprop::m_visited_phis): New member
variable.
(backprop::backprop): Initialize it.
(backprop::~backprop): Free it.
(backprop::intersect_uses): Check it when deciding whether this
is a backedge reference.
(backprop::process_block): Add each phi to m_visited_phis
after visiting it, then clear it at the end.

gcc/testsuite/
PR tree-optimization/85989
* gcc.dg/torture/pr85989.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr85989.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/gimple-ssa-backprop.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog