diff options
author | Jan Hubicka <jh@suse.cz> | 2003-07-02 02:14:44 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-07-02 00:14:44 +0000 |
commit | f6981e16c3c4e9e009e3b34d185f2be15c76171c (patch) | |
tree | 4d97ef1059d4e3e31ef7dfafa8353a8924c2bf2f /gcc/cgraphunit.c | |
parent | d1c608553b0f6cec5ddc3e83c0198fa37ab9fe25 (diff) | |
download | gcc-f6981e16c3c4e9e009e3b34d185f2be15c76171c.zip gcc-f6981e16c3c4e9e009e3b34d185f2be15c76171c.tar.gz gcc-f6981e16c3c4e9e009e3b34d185f2be15c76171c.tar.bz2 |
cgraphunit.c (cgraph_finalize_function): Set finalized.
* cgraphunit.c (cgraph_finalize_function): Set finalized.
(cgraph_finalize_function): Do not examine inlinablility.
(cgraph_finalize_compilation_unit): Do it here.
* cgraph.h (cgraph_local_info): Add finalized field.
From-SVN: r68803
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index e7023a4..75eae99 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -54,6 +54,7 @@ cgraph_finalize_function (decl, body) struct cgraph_node *node = cgraph_node (decl); node->decl = decl; + node->local.finalized = true; if (/* Externally visible functions must be output. The exception are COMDAT functions that must be output only when they are needed. @@ -74,15 +75,6 @@ cgraph_finalize_function (decl, body) cgraph_mark_needed_node (node, 1); } - if (!node->needed && !DECL_COMDAT (node->decl)) - node->local.can_inline_once = tree_inlinable_function_p (decl, 1); - else - node->local.can_inline_once = 0; - if (flag_inline_trees) - node->local.inline_many = tree_inlinable_function_p (decl, 0); - else - node->local.inline_many = 0; - (*debug_hooks->deferred_inline_function) (decl); } @@ -173,6 +165,15 @@ cgraph_finalize_compilation_unit () if (lang_hooks.callgraph.lower_function) (*lang_hooks.callgraph.lower_function) (decl); + if (!node->needed && !DECL_COMDAT (node->decl)) + node->local.can_inline_once = tree_inlinable_function_p (decl, 1); + else + node->local.can_inline_once = 0; + if (flag_inline_trees) + node->local.inline_many = tree_inlinable_function_p (decl, 0); + else + node->local.inline_many = 0; + /* At the moment frontend automatically emits all nested functions. */ if (node->nested) { |