[Bug tree-optimization/102711] [9/10/11 Regression] CDDCE removes condition that might lead to an infinite loop causing an unconditional infinite loop

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 13 06:44:16 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102711

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
                 CC|                            |rguenth at gcc dot gnu.org
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=99101
           Keywords|                            |needs-bisection

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Feels related to PR99101.  We fail to mark the first if (!bar()) condition
as useful.  On trunk we happen to mark it when visiting control dependences
of if (flag).

A related commit _might_ be g:58ad6b2802592f1448eed48e8ad4e0e87985cecb

Can somebody bisect whether that "fixed" the issue on trunk?  Note that
wasn't really a "fix" - but as PR99101 notes I have a hunch that the
control dependence code doesn't behave like we want in the context of
CD-DCE and infinite loops.


More information about the Gcc-bugs mailing list