diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-17 23:42:04 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-04-17 23:42:04 +0000 |
commit | 36595f6490217826e8834d94d0fbd86eb2ddcf89 (patch) | |
tree | 2d37199fb8c8b1a205f0f303bf12665aa8a5ec98 /gcc/ipa-inline.c | |
parent | f10ca8ea5d9cb6a4dad0b1c64806be1baf3a5c5f (diff) | |
download | gcc-36595f6490217826e8834d94d0fbd86eb2ddcf89.tar.gz |
* 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
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 11 |
1 files changed, 11 insertions, 0 deletions
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) |