On 12/21/2016 11:08 PM, Yuan, Pengfei wrote:
Hi,
The following patch fixes
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78879
There are some other invocations of unordered_remove in
tree-ssa-threadupdate.c, which may also need to be replaced
with ordered_remove.
Regards,
Yuan, Pengfei
2016-12-22 Yuan Pengfei <y...@pku.edu.cn>
PR middle-end/78879
* tree-ssa-threadupdate.c (mark_threaded_blocks): Replace
unordered_remove with ordered_remove.
How specifically does this fix the problem. I suspect you're just
papering over the bug by changing the order of thread processing.
You'll note that when a thread is canceled we call the
paths.unordered_remove without incrementing i. AFAICT you're just
changing order in which paths out of the array.
Jeff