Hi.
This is quite old hunk that Honza forgot to install:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63560#c1
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be installed? Or should I wait for next stage1?
Thanks,
Martin
gcc/ChangeLog:
2019-03-08 Jan Hubicka <[email protected]>
PR go/63560
* ipa-split.c (execute_split_functions): Do not split
'noinline' or 'section' function.
---
gcc/ipa-split.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index cfd03abb07d..5eaf8257f98 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -104,6 +104,7 @@ along with GCC; see the file COPYING3. If not see
#include "gimple-pretty-print.h"
#include "ipa-fnsummary.h"
#include "cfgloop.h"
+#include "attribs.h"
/* Per basic block info. */
@@ -1751,6 +1752,20 @@ 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)