aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-01-14 23:54:50 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2004-01-14 22:54:50 +0000
commit95c755e90f94c5fbeed8cf58896d114989f9c771 (patch)
tree8b1b7c30c31af7eeaa57d8ea5898e75bae608347 /gcc/cgraph.h
parent092b50e2d7faa1cf0441da77a0d2d72a983276b1 (diff)
downloadgcc-95c755e90f94c5fbeed8cf58896d114989f9c771.zip
gcc-95c755e90f94c5fbeed8cf58896d114989f9c771.tar.gz
gcc-95c755e90f94c5fbeed8cf58896d114989f9c771.tar.bz2
cgraph.c (create_edge): Use local.redefined_extern_inline.
* cgraph.c (create_edge): Use local.redefined_extern_inline. * cgraph.h (cgraph_local_info): Sort fields by size; add redefined_extern_inline (cgraph_global_info): Sort fields by size. (cgraph_node): Likewise. * cgraphunit.c (cgraph_finalize_function): Se local.redefined_extern_inline on redefinition. (cgraph_analyze_function): Use it; fix formating. From-SVN: r75890
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r--gcc/cgraph.h24
1 files changed, 14 insertions, 10 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index 5cf31d7..ee4372e 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -27,6 +27,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
struct cgraph_local_info GTY(())
{
+ /* Size of the function before inlining. */
+ int self_insns;
+
/* Set when function function is visible in current compilation unit only
and it's address is never taken. */
bool local;
@@ -37,8 +40,9 @@ struct cgraph_local_info GTY(())
bool inlinable;
/* True when function should be inlined independently on it's size. */
bool disregard_inline_limits;
- /* Size of the function before inlining. */
- int self_insns;
+ /* True when the function has been originally extern inline, but it is
+ redefined now. */
+ bool redefined_extern_inline;
};
/* Information about the function that needs to be computed globally
@@ -46,15 +50,15 @@ struct cgraph_local_info GTY(())
struct cgraph_global_info GTY(())
{
- /* Set when the function will be inlined exactly once. */
- bool inline_once;
-
/* Estimated size of the function after inlining. */
int insns;
/* Number of times given function will be cloned during output. */
int cloned_times;
+ /* Set when the function will be inlined exactly once. */
+ bool inline_once;
+
/* Set to true for all reachable functions before inlining is decided.
Once we inline all calls to the function and the function is local,
it is set to false. */
@@ -93,10 +97,13 @@ struct cgraph_node GTY((chain_next ("%h.next"), chain_prev ("%h.previous")))
struct cgraph_node *next_nested;
/* Pointer to the next function in cgraph_nodes_queue. */
struct cgraph_node *next_needed;
- /* Unique id of the node. */
- int uid;
PTR GTY ((skip (""))) aux;
+ struct cgraph_local_info local;
+ struct cgraph_global_info global;
+ struct cgraph_rtl_info rtl;
+ /* Unique id of the node. */
+ int uid;
/* Set when function must be output - it is externally visible
or it's address is taken. */
bool needed;
@@ -108,9 +115,6 @@ struct cgraph_node GTY((chain_next ("%h.next"), chain_prev ("%h.previous")))
bool analyzed;
/* Set when function is scheduled to be assembled. */
bool output;
- struct cgraph_local_info local;
- struct cgraph_global_info global;
- struct cgraph_rtl_info rtl;
};
struct cgraph_edge GTY(())