[Bug go/63560] __go_set_defer_retaddr shouldn't be split by IPA split
hubicka at ucw dot cz
gcc-bugzilla@gcc.gnu.org
Thu Oct 16 14:32:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63560
--- Comment #1 from Jan Hubicka <hubicka at ucw dot cz> ---
Does something like this work?
Honza
Index: ipa-split.c
===================================================================
--- ipa-split.c (revision 216318)
+++ ipa-split.c (working copy)
@@ -1613,6 +1613,19 @@ execute_split_functions (void)
return 0;
}
+ if (lookup_attribute ("noinline", DECL_ATTRIBUTES (current_function_decl)))
+ {
+ if (dump_file)
+ fprintf (dump_file, "Not splitting: function is noinline.\n");
+ return 0;
+ }
+ if (lookup_attribute ("section", DECL_ATTRIBUTES (current_function_decl)))
+ {
+ if (dump_file)
+ fprintf (dump_file, "Not splitting: function is in user defined
section.\n");
+ return 0;
+ }
+
/* We enforce splitting after loop headers when profile info is not
available. */
if (profile_status_for_fn (cfun) != PROFILE_READ)
More information about the Gcc-bugs
mailing list