https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26731
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2007-07-01 00:14:40 |2023-8-7 --- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The last part of the issue here is take: ``` int f1(int i, int n) { int t1 = i + 1; unsigned t = n; t -= 1; t1 = t1 + (int)t; return t1; } ``` This should just be optimized to: ``` int f(int i, int n) { return i + n; } ``` Note the original f should really transform into: int f0_(int t, int a, int x) { int n, g; if (t) { n = a; if (a <= 0) return x; } else n = 4; x+=n; return x; }