https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92574
--- Comment #2 from bin cheng <amker at gcc dot gnu.org> --- Similar to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57534 The original idea was handle this as much as possible in ivopt which is difficult given ivopt code has lots of (scev/niter) validity checks. In aforementioned straight-line "ivopts", we only need to factor out common part, choose addressing mode, rewrite memory references. Maybe a light-weight pass to do the job using existing ivopt facility.