diff options
author | Martin Liska <mliska@suse.cz> | 2014-09-26 12:37:44 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2014-09-26 10:37:44 +0000 |
commit | bf898b300eea2cd87a1afcadd886c7ae3d593091 (patch) | |
tree | 826243916bb4f3470111118df833648f93566f57 /gcc/cgraph.c | |
parent | 5535b7d6f3ff58a69b2bf52e7fe8772e2797f112 (diff) | |
download | gcc-bf898b300eea2cd87a1afcadd886c7ae3d593091.zip gcc-bf898b300eea2cd87a1afcadd886c7ae3d593091.tar.gz gcc-bf898b300eea2cd87a1afcadd886c7ae3d593091.tar.bz2 |
cgraph.c (cgraph_node::release_body): New argument keep_arguments introduced.
* cgraph.c (cgraph_node::release_body): New argument keep_arguments
introduced.
* cgraph.h: Likewise.
* cgraphunit.c (cgraph_node::create_wrapper): Usage of new argument introduced.
* ipa-utils.h (polymorphic_type_binfo_p): Safe check for binfos created by Java.
* tree-ssa-alias.c (ao_ref_base_alias_set): Static function transformed to global.
* tree-ssa-alias.h: Likewise.
From-SVN: r215640
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 1cfc783..fdcaf79 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -1625,16 +1625,19 @@ release_function_body (tree decl) /* Release memory used to represent body of function. Use this only for functions that are released before being translated to target code (i.e. RTL). Functions that are compiled to RTL and beyond - are free'd in final.c via free_after_compilation(). */ + are free'd in final.c via free_after_compilation(). + KEEP_ARGUMENTS are useful only if you want to rebuild body as thunk. */ void -cgraph_node::release_body (void) +cgraph_node::release_body (bool keep_arguments) { ipa_transforms_to_apply.release (); if (!used_as_abstract_origin && symtab->state != PARSING) { DECL_RESULT (decl) = NULL; - DECL_ARGUMENTS (decl) = NULL; + + if (!keep_arguments) + DECL_ARGUMENTS (decl) = NULL; } /* If the node is abstract and needed, then do not clear DECL_INITIAL of its associated function function declaration because it's |