https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99067
--- Comment #3 from bin cheng ---
Though not sure if the underlying root causes are the same, I think these are
two different issues, at least, they are handled by different parts of code in
IVOPTs.
For the first one, it's a known issue in GCC and IV elimination is complicated
yet quite conservative for long time, while for the second one, we indeed don't
know whether "i*N+j" wraps or not. Even though we might be able to improve
IVOPTs under condition of wrapping behavior.