diff options
author | Jan Hubicka <jh@suse.cz> | 2010-05-18 01:02:47 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-05-17 23:02:47 +0000 |
commit | 922f15c273e96e7bff9fecb9c0cbd90a5709f839 (patch) | |
tree | 8dc7afe7cb29c4f8a1378cea118b057dbc8b8444 /gcc/tree-inline.c | |
parent | 28632d639518d2d98347218a1269548fa2c22765 (diff) | |
download | gcc-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.c | 9 |
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); |