diff options
author | Jan Hubicka <jh@suse.cz> | 2005-06-02 21:41:31 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2005-06-02 19:41:31 +0000 |
commit | 6b02a4997be30a1cb81a573ea3abc68802f10b2a (patch) | |
tree | 581a728808f9ec389dc440901acdffc5a28d346f /gcc/cgraphunit.c | |
parent | 04b0eed045fd952d1e8889dd06f07563ce16160b (diff) | |
download | gcc-6b02a4997be30a1cb81a573ea3abc68802f10b2a.zip gcc-6b02a4997be30a1cb81a573ea3abc68802f10b2a.tar.gz gcc-6b02a4997be30a1cb81a573ea3abc68802f10b2a.tar.bz2 |
cgraph.c (cgraph_node): Maintain master clones.
* cgraph.c (cgraph_node): Maintain master clones.
(cgraph_remove_node): Likewise.
(availability_names): New static variable.
(dump_cgraph_node): Dump availability.
(dump_cgraph_varpool_node): Likewise.
(cgraph_is_master_clone, cgraph_master_clone,
cgraph_function_body_availability,
cgraph_variable_initializer_availability): New functions.
* cgraph.h (availability): New enum.
(struct cgraph_node): Add master_clone.
(cgraph_is_master_clone, cgraph_master_clone,
cgraph_function_body_availability,
cgraph_variable_initializer_availability): Declare.
* cgraphunit.c (cgraph_expand_function): Setcgraph_function_flags_ready.
(cgraph_remove_unreachable_nodes): Remove unreachable nodes.
* ipa-inline.c (cgraph_decide_inlining): Do not call
cgraph_remove_unreachable_nodes.
From-SVN: r100507
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 7f8a96d..ee859f7 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -967,6 +967,8 @@ cgraph_expand_function (struct cgraph_node *node) points to the dead function body. */ cgraph_node_remove_callees (node); } + + cgraph_function_flags_ready = true; } /* Return true when CALLER_DECL should be inlined into CALLEE_DECL. */ @@ -1128,6 +1130,9 @@ cgraph_optimize (void) dump_cgraph (cgraph_dump_file); } ipa_passes (); + /* This pass remove bodies of extern inline functions we never inlined. + Do this later so other IPA passes see what is really going on. */ + cgraph_remove_unreachable_nodes (false, dump_file); cgraph_global_info_ready = true; if (cgraph_dump_file) { |