2017-12-15 Richard Biener <rguenther@suse.de>
commitddc276644272d8beda88c0daa17624f6675448ad
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Dec 2017 10:12:08 +0000 (15 10:12 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Dec 2017 10:12:08 +0000 (15 10:12 +0000)
tree5241e2eb5b853bed4bd02522b3ca74dcc23318f8
parent4e3bc545b28bb80e66e1bc23866ee09662e47780
2017-12-15  Richard Biener  <rguenther@suse.de>

Backport from mainline
PR tree-optimization/82060
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Move devirtualization after stmt folding and before EH/AB/noreturn
cleanup to get the stmt refs canonicalized.  Use a bool instead
of gimple_modified_p since that doesn't work for NOPs.  Schedule
NOPs generated by folding for removal.

* g++.dg/torture/pr82060.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@255682 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr82060.C [new file with mode: 0644]
gcc/tree-ssa-pre.c