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

--- Comment #11 from rguenther at suse dot de <rguenther at suse dot de> ---
On Sun, 26 Jan 2020, amonakov at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93301
> 
> Alexander Monakov <amonakov at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |amonakov at gcc dot gnu.org
> 
> --- Comment #7 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
> (you mean unreachable code, not dead code)
> 
> Nice find, this is definitely a bug. As you say, loop unswitching introduces 
> an
> unconditional use of an uninitialized variable which otherwise is conditional
> and (might be) never executed. The testcase hits a problematic early-out in
> is_maybe_undefined:
> 
>       /* Uses in stmts always executed when the region header executes
>          are fine.  */
>       if (dominated_by_p (CDI_DOMINATORS, loop->header, gimple_bb (def)))
>         continue;
> 
> the code does not match the comment, checking postdominators might be correct,
> but not dominators.
> 
> This was introduced by r245057 for PR71691, so technically a 8/9/10 
> regression.
> Probably worth splitting into a separate PR as this is more serious and might
> be more straightforward to fix than the earlier testcases.

Yes, as said, there are cases that need to be looked at and the above
is definitely a bug.

Reply via email to