diff options
author | Jan Hubicka <jh@suse.cz> | 2010-04-18 01:42:04 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-04-17 23:42:04 +0000 |
commit | 6a8cd10005d9094be78c13141977d0e8627e3d7d (patch) | |
tree | 2d37199fb8c8b1a205f0f303bf12665aa8a5ec98 | |
parent | 6c559604a805d701d36659678a91dd3934c72f54 (diff) | |
download | gcc-6a8cd10005d9094be78c13141977d0e8627e3d7d.zip gcc-6a8cd10005d9094be78c13141977d0e8627e3d7d.tar.gz gcc-6a8cd10005d9094be78c13141977d0e8627e3d7d.tar.bz2 |
* ipa-inline.c (cgraph_early_inlining): Handle flattening too.
From-SVN: r158477
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ipa-inline.c | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3906f65..addc094 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2010-04-17 Jan Hubicka <jh@suse.cz> + + * ipa-inline.c (cgraph_early_inlining): Handle flattening too. + 2010-04-17 Richard Earnshaw <rearnsha@arm.com> * arm.md (negdi2): Remove redundant code to force values into a diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 601695a..751966c 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) |