diff options
author | Jan Hubicka <jh@suse.cz> | 2009-05-10 17:11:01 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2009-05-10 15:11:01 +0000 |
commit | 39ff5a967693c3aa56e8abf0e9c75fabe3335d8d (patch) | |
tree | 74ceb2f1c2ecc5f55f8c3f84dd6a925d1b0918c4 /gcc/cgraph.h | |
parent | 9a0c61875533558e047cb5ef140d9836ed475ab9 (diff) | |
download | gcc-39ff5a967693c3aa56e8abf0e9c75fabe3335d8d.zip gcc-39ff5a967693c3aa56e8abf0e9c75fabe3335d8d.tar.gz gcc-39ff5a967693c3aa56e8abf0e9c75fabe3335d8d.tar.bz2 |
cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
* cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
* cgraph.c (cgraph_mark_address_taken_node): New function.
(dump_cgraph_node): Dump new flag.
* cgraph.h (struct cgraph_node): Add address_taken.
(cgraph_mark_address_taken_node): New function.
* cp/decl2.c (cxx_callgraph_analyze_expr): Use
cgraph_mark_address_taken.
* ipa.c (cgraph_postorder): Prioritize functions with address taken
since new direct calls can be born.
From-SVN: r147342
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r-- | gcc/cgraph.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h index c1a1a0a..2e4201e 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -189,6 +189,8 @@ struct GTY((chain_next ("%h.next"), chain_prev ("%h.previous"))) cgraph_node { /* Set when function must be output - it is externally visible or its address is taken. */ unsigned needed : 1; + /* Set when function has address taken. */ + unsigned address_taken : 1; /* Set when decl is an abstract function pointed to by the ABSTRACT_DECL_ORIGIN of a reachable function. */ unsigned abstract_and_needed : 1; @@ -417,6 +419,7 @@ void cgraph_mark_if_needed (tree); void cgraph_finalize_compilation_unit (void); void cgraph_optimize (void); void cgraph_mark_needed_node (struct cgraph_node *); +void cgraph_mark_address_taken_node (struct cgraph_node *); void cgraph_mark_reachable_node (struct cgraph_node *); bool cgraph_inline_p (struct cgraph_edge *, cgraph_inline_failed_t *reason); bool cgraph_preserve_function_body_p (tree); |