https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101419
--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #12) > (In reply to Jakub Jelinek from comment #10) > > Created attachment 51139 [details] > > gcc12-pr101419.patch > > > > Full untested patch. > > I guess that's certainly what was intended (and after the patch more > explicit). Whether it's good to not CSE any addresses in unrolled loop > bodies is another question (but see my proposed pass order change which > would fix this). Note it might "break" GIMPLE FE testcases with startwith after the objsz pass - break in the sense that later FRE will behave differently. Note usually we still run all property providers but the way you set the property outside of pass->properties_provided breaks this. Thus maybe split objsz into two separate passes rather than using the flag so you can use properties_provided.