aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-18 01:02:47 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-17 23:02:47 +0000
commit922f15c273e96e7bff9fecb9c0cbd90a5709f839 (patch)
tree8dc7afe7cb29c4f8a1378cea118b057dbc8b8444 /gcc/tree-inline.c
parent28632d639518d2d98347218a1269548fa2c22765 (diff)
downloadgcc-922f15c273e96e7bff9fecb9c0cbd90a5709f839.zip
gcc-922f15c273e96e7bff9fecb9c0cbd90a5709f839.tar.gz
gcc-922f15c273e96e7bff9fecb9c0cbd90a5709f839.tar.bz2
cgraph.h (struct ipa_replace_map): Add parm_num parameter.
* cgraph.h (struct ipa_replace_map): Add parm_num parameter. * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary): New functions. (output_cgraph): Call output_cgraph_opt_summary. (input_cgrpah): Call input_cgraph_opt_summary. (output_cgraph_opt_summary_p, output_node_opt_summary, input_node_opt_summary, input_cgraph_opt_section): New functions. * lto-section-in.c (lto_section_name): Add cgraphopt. * tree-inline.c (tree_function_versioning): Handle parm_num. * lto-streamer.c (lto_get_section_name): Handle cgraphopt. * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum. From-SVN: r159517
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 03b013c..bb2ee23 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -4945,6 +4945,15 @@ tree_function_versioning (tree old_decl, tree new_decl,
if (replace_info->replace_p)
{
tree op = replace_info->new_tree;
+ if (!replace_info->old_tree)
+ {
+ int i = replace_info->parm_num;
+ tree parm;
+ for (parm = DECL_ARGUMENTS (old_decl); i; parm = TREE_CHAIN (parm))
+ i --;
+ replace_info->old_tree = parm;
+ }
+
STRIP_NOPS (op);