https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87813
--- Comment #10 from Aldy Hernandez <aldyh at redhat dot com> --- On 11/5/18 11:06 AM, msebor at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87813 > > --- Comment #9 from Martin Sebor <msebor at gcc dot gnu.org> --- > (In reply to Aldy Hernandez from comment #6) > > I agree, but it's just a small subset of such cases. There are many > optimizing > transformations that GCC does at -O0 that affect the IL later on: calls to > library built-ins are folded into other library calls (strcpy to memcpy), or > to > MEM_REFs (memcpy), or even to constants (strlen). For example: > > int f (void) > { > return __builtin_strlen ("123"); > } > Yes, but in this -Og evrp case, the IL gets changed for *every* SSA name with a range. That's rather significant IMO. But alas, Jeff is working on this :).