http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59019
--- Comment #3 from Jeffrey A. Law <law at redhat dot com> --- OK, making a conditional no-return call into an unconditional no-return call would have the same problem. Ugh. The problem I see where is we're going to have to run some kind of cleanup pass after each RTL pass that might make these transformations (cse, gcse, cprop, combine and I'm sure others). That seems quite heavyweight and bad from a compile-time standpoint. But I don't really see a way out. I guess I'm hoping you have other suggestions for how we can fix this.