[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