https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103221
Andrew Macleod <amacleod at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #5 from Andrew Macleod <amacleod at redhat dot com> --- We perform this optimization in appropriate places. EVRP uses ranges to remove the | -128 leaving the statement as a copy. Although we could then propagate the copy into the PHI node, I think we should leave that to the copy propagation and PHIOPT passes, as we could also make poor decisions since we are doing it with no context. EVRP is enabling the other passes to do their job, and GCC turns this into "return a" as expected.