------- Comment #7 from mikpe at it dot uu dot se 2010-05-28 22:02 ------- Bisection identified r148981 as the cause of this regression:
Author: rth Date: Fri Jun 26 18:23:32 2009 New Revision: 148981 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148981 Log: * function.h (struct function): Add cannot_be_copied_reason, and cannot_be_copied_set. * tree-inline.c (has_label_address_in_static_1): Rename from inline_forbidden_p_2; don't set inline_forbidden_reason here. (cannot_copy_type_1): Rename from inline_forbidden_p_op; likewise don't set inline_forbidden_reason. (copy_forbidden): New function, split out of inline_forbidden_p. (inline_forbidden_p_stmt): Don't check for nonlocal labels here. (inline_forbidden_p): Use copy_forbidden. (tree_versionable_function_p): Likewise. (inlinable_function_p): Merge into tree_inlinable_function_p. (tree_function_versioning): Remap cfun->nonlocal_goto_save_area. * ipa-cp.c (ipcp_versionable_function_p): New function. (ipcp_cloning_candidate_p): Use it. (ipcp_node_modifiable_p): Likewise. I'll try to extract a smaller test case tomorrow. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44290