http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58294
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jan Hubicka from comment #5) > Thanks, I saw this problem too while compiling chromium but then it went > away and we didn't really managed to simplify it to a testcase. > > The problem here is that there is PHI sitting on a EH receiver (from setjmp) > and we are inlining speculatively inlined call that may throw while original > call didn't. It seems to be bug that is there for years. I am not quite sure > what to do in this scenario sort of going out of SSA for this particular > symbol and back to SSA again (that probably would go with markin it for > update) > > Curiously enough your patch does not contain any calls that ipa-devirt would > change. > > I am looking into it The fix is to preserve this "nonthrowing". That's how I made it work for the abnormal edge case. Thus, wrap it in a NOTHROW region?