https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97539
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- So the fundamental issue is that we have a debug-only live use and we do not have LC SSA for those. When vectorizer epilogue peeling then creates the loop copy the debug use is still refering to the first loop but that def no longer dominates the use because of the branch to the epilogue skipping the vectorized loop. The simplest workaround would be to first to a sweep over the original loop body searching for such uses and resetting the corresponding debug binds.