diff options
author | Jan Hubicka <jh@suse.cz> | 2009-05-15 19:09:13 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2009-05-15 17:09:13 +0000 |
commit | d88e5c37254630f5b3e1638aa2910bfd1e0fd030 (patch) | |
tree | 62a1c804d702494ae822b2b1cfc07dbffa19e1bf /gcc | |
parent | 6136d2c7e2369fbd3bd63ec635ea90d723f61d66 (diff) | |
download | gcc-d88e5c37254630f5b3e1638aa2910bfd1e0fd030.zip gcc-d88e5c37254630f5b3e1638aa2910bfd1e0fd030.tar.gz gcc-d88e5c37254630f5b3e1638aa2910bfd1e0fd030.tar.bz2 |
cgraph.h (struct cgraph_node): Add finalized_by_frotnend flag.
2009-05-15 Jan Hubicka <jh@suse.cz>
* cgraph.h (struct cgraph_node): Add finalized_by_frotnend flag.
* cgraphunit.c (cgraph_finalize_function): Set it.
(cgraph_expand_function): Use it.
From-SVN: r147586
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cgraph.h | 2 | ||||
-rw-r--r-- | gcc/cgraphunit.c | 4 |
3 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2882330..e45090d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-05-15 Jan Hubicka <jh@suse.cz> + + * cgraph.h (struct cgraph_node): Add finalized_by_frotnend flag. + * cgraphunit.c (cgraph_finalize_function): Set it. + (cgraph_expand_function): Use it. + 2009-05-15 Sandra Loosemore <sandra@codesourcery.com> * real.c (encode_ieee_half): Define. diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 58ae068..6f1e052 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -211,6 +211,8 @@ struct GTY((chain_next ("%h.next"), chain_prev ("%h.previous"))) cgraph_node { unsigned process : 1; /* Set for aliases once they got through assemble_alias. */ unsigned alias : 1; + /* Set for nodes that was constructed and finalized by frontend. */ + unsigned finalized_by_frontend : 1; /* In non-unit-at-a-time mode the function body of inline candidates is saved into clone before compiling so the function in original form can be diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index a73eabc..70b2682 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -510,6 +510,7 @@ cgraph_finalize_function (tree decl, bool nested) notice_global_symbol (decl); node->local.finalized = true; node->lowered = DECL_STRUCT_FUNCTION (decl)->cfg != NULL; + node->finalized_by_frontend = true; record_cdtor_fn (node->decl); if (node->nested) lower_nested_functions (decl); @@ -1090,7 +1091,8 @@ cgraph_expand_function (struct cgraph_node *node) gcc_assert (node->lowered); /* Generate RTL for the body of DECL. */ - if (lang_hooks.callgraph.emit_associated_thunks) + if (lang_hooks.callgraph.emit_associated_thunks + && node->finalized_by_frontend) lang_hooks.callgraph.emit_associated_thunks (decl); tree_rest_of_compilation (decl); |