From: Jan Hubicka Date: Wed, 2 Jul 2003 00:14:44 +0000 (+0200) Subject: cgraphunit.c (cgraph_finalize_function): Set finalized. X-Git-Tag: releases/gcc-3.4.0~5246 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f6981e16c3c4e9e009e3b34d185f2be15c76171c;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9142d5c46150..716fb7a4dda6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Wed Jul 2 02:12:51 CEST 2003 Jan Hubicka + + * 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. + 2003-07-02 Rainer Orth * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *. diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 91f99bf2e716..bbf1c2886182 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -35,6 +35,8 @@ struct cgraph_local_info GTY(()) /* Set when function can be inlined once (false only for functions calling alloca, using varargs and so on). */ bool can_inline_once; + /* Set once it has been finalized so we consider it to be output. */ + bool finalized; }; /* Information about the function that needs to be computed globally diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index e7023a4014be..75eae991d951 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) {