[Bug tree-optimization/96931] [11 Regression] ICE in add_phi_arg, at tree-phinodes.c:359
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 4 10:23:12 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96931
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:fab77644842869adc8871e133e4c3f4c35b2b245
commit r11-3009-gfab77644842869adc8871e133e4c3f4c35b2b245
Author: Richard Biener <rguenther@suse.de>
Date: Fri Sep 4 12:18:38 2020 +0200
tree-optimization/96931 - clear ctrl-altering flag more aggressively
The testcase shows that we fail to clear gimple_call_ctrl_altering_p
when the last abnormal edge goes away, causing an edge insert to
a loop header edge when we have preheaders to split the edge
unnecessarily.
The following addresses this by more aggressively clearing the
flag in cleanup_call_ctrl_altering_flag.
2020-09-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/96931
* tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): If
there's a fallthru edge and no abnormal edge the call is
no longer control-altering.
(cleanup_control_flow_bb): Pass down the BB to
cleanup_call_ctrl_altering_flag.
* gcc.dg/pr96931.c: New testcase.
More information about the Gcc-bugs
mailing list