Hi, when dealing with a PR yesterday I have noticed that IPA-SRA was modifying an always_inline function which is useless work since the function must then be inlined anyway. Thus I'd like to propose the following simple change disabling it in such cases.
Included in a bootstrap and testing on x86_64-linux. OK for trunk now or in the next stsge1? Thanks, Martin 2014-04-01 Martin Jambor <mjam...@suse.cz> * tree-sra.c (ipa_sra_preliminary_function_checks): Skip always_inline functions. Index: src/gcc/tree-sra.c =================================================================== --- src.orig/gcc/tree-sra.c +++ src/gcc/tree-sra.c @@ -4960,6 +4960,15 @@ ipa_sra_preliminary_function_checks (str if (TYPE_ATTRIBUTES (TREE_TYPE (node->decl))) return false; + if (lookup_attribute ("always_inline", + DECL_ATTRIBUTES (node->decl)) != NULL) + { + if (dump_file) + fprintf (dump_file, "Allways inline function will be inlined " + "anyway. \n"); + return false; + } + return true; }