http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58380
--- Comment #8 from Jeffrey A. Law <law at redhat dot com> --- This looks like slightly different variant of 58343 where we thread through a loop header when we really didn't want to. I haven't tracked it through to the ICE, but from looking at the CFG and the registered jump thread, it's obvious we're threading through a loop header. Presumably the code to handle threading through loop headers is (again) not prepared for this particularly shaped CFG with a thread trough the header and in the process mucks things up pretty badly.