From: hubicka Date: Sat, 17 Apr 2010 23:42:04 +0000 (+0000) Subject: * ipa-inline.c (cgraph_early_inlining): Handle flattening too. X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=63a931a9c6619c1db663968cbe990d6423076863;ds=sidebyside * ipa-inline.c (cgraph_early_inlining): Handle flattening too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158477 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3906f65d40d..addc0942f8d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2010-04-17 Jan Hubicka + + * ipa-inline.c (cgraph_early_inlining): Handle flattening too. + 2010-04-17 Richard Earnshaw * arm.md (negdi2): Remove redundant code to force values into a diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 601695a3fda..751966cefb2 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1667,6 +1667,17 @@ cgraph_early_inlining (void) } else { + if (lookup_attribute ("flatten", + DECL_ATTRIBUTES (node->decl)) != NULL) + { + if (dump_file) + fprintf (dump_file, + "Flattening %s\n", cgraph_node_name (node)); + cgraph_flatten (node); + timevar_push (TV_INTEGRATION); + todo |= optimize_inline_calls (current_function_decl); + timevar_pop (TV_INTEGRATION); + } /* We iterate incremental inlining to get trivial cases of indirect inlining. */ while (iterations < PARAM_VALUE (PARAM_EARLY_INLINER_MAX_ITERATIONS)