https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103006
--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> --- On Tue, 2 Nov 2021, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103006 > > --- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > Looks like that. > What do you think about unrolling making variable copies? We'd need to be > sure > that the scope of the variable is the loop we are unrolling though (or > something nested in it). Being able to determine that would solve the very issue we're trying to fix with making the copy. The problem is that we put in CLOBBERs based on the original BINDs but later optimizers do not respect the birth boundary. If we can figure that out we could ignore the respective CLOBBERs for the CFG expansion live compute as well. I think we may be able to compute the CFG SCC a CLOBBER resides in and in case the CLOBBERed variable is live-in into that SCC we cannot prune it with that CLOBBER. Or so.