http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49299
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-06-06 10:56:55 UTC --- Created attachment 24447 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24447 gcc46-pr49299.patch Untested fix. Turning of a normal indirect call into an optionally direct noreturn call seems to work and worked before too. Anyway, if you prefer to just give up in gimple_ic_transform instead, like /* Don't optimize noreturn calls, they should be cold. */ if (gimple_call_flags (stmt) & ECF_NORETURN) return false; I can test that instead.