summaryrefslogtreecommitdiff
path: root/gcc/cgraph.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-14 22:54:50 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-14 22:54:50 +0000
commit69435b7ff5e5a474296bf13e72507f00d97a6eb9 (patch)
tree8b1b7c30c31af7eeaa57d8ea5898e75bae608347 /gcc/cgraph.h
parentd69affc26ace1de66e37f03bc9d9afabc1bfd1a6 (diff)
downloadgcc-69435b7ff5e5a474296bf13e72507f00d97a6eb9.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75890 138bc75d-0d04-0410-961f-82ee72b054a4
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 5cf31d7afae..ee4372ee91b 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(())