https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115369
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |enhancement
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Ifcvt can handle this though:
```
int f(int a, int b, int c)
{
if (a) return b + 1;
return c;
}
```
One thing I noticed is there is a jump threading happening on the RTL level
which might be causing the confusion.