https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70780
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Ok, so we now find (properly) that *d is loop invariant in while (b) but fail to detect *d as possibly trapping. That is supposed to be prevented (in PRE) by the loop exit but I messed up iteration and thus the solution we use for insertion is not final.