https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94846
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- After r12-897 (which added a late sink pass), we get the following in .optimized: if (_10 != 0) goto <bb 3>; [50.00%] else goto <bb 4>; [50.00%] <bb 3> [local count: 536870913]: _2 = _1 + 1; <bb 4> [local count: 1073741824]: # prephitmp_11 = PHI <_1(2), _2(3)> # _13 = PHI <_1(2), _2(3)> *p_5(D) = _13; return prephitmp_11; Notice how prephitmp_11 and _13 are the same but no RTL optimizers handles that.