https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97378
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- The substitute-and-fold engine was designed in a way to queue stmt removal and it has to adjust all conditions that make unreachable code unreachable to trivial true/false conditions so CFG cleanup will get rid of those regions. It all worked fine before.