https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70359
--- Comment #27 from Jeffrey A. Law <law at redhat dot com> --- Yea, we went through similar issues with Alex's work recently. After that work landed I went through all the BZs that I could find with autoinc {pre,post}{inc,dec} that BZ could find in the hopes that his work would fix some of them. Sadly there was only 1 that was fixed. -- So one concern if you try to expose autoincrement addressing in gimple is that the RTL optimizers aren't prepared to handle until combine or later. So there's probably a fair amount of downstream work to do. rth and I sketched out a pass that replace optimize_related_values and autoinc passes using the concepts of PRE and SLSR many years ago. It felt much cleaner that what we've been doing and likely more powerful. But we never went forward with an implementation. I got the sense from that recent BZ review that we're generally missing a fair number of opportunities, but didn't dig into all of them to gain an understanding of why we're doing so bad.