From: Jan Hubicka Date: Fri, 13 Dec 2019 18:43:20 +0000 (+0100) Subject: lto-streamer-in.c (input_function): Add node parameter. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=510873f901ffa34391b4b744c939e6ac33d1e663;p=gcc.git lto-streamer-in.c (input_function): Add node parameter. * lto-streamer-in.c (input_function): Add node parameter. (lto_read_body_or_constructor): Use it. From-SVN: r279379 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f8a56a4c289..06b94444800 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-12-13 Jan Hubicka + + * lto-streamer-in.c (input_function): Add node parameter. + (lto_read_body_or_constructor): Use it. + 2019-12-13 Roman Zhuykov PR rtl-optimization/92591 diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 128d7640726..675e1a7a153 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -1022,13 +1022,13 @@ input_struct_function_base (struct function *fn, class data_in *data_in, static void input_function (tree fn_decl, class data_in *data_in, - class lto_input_block *ib, class lto_input_block *ib_cfg) + class lto_input_block *ib, class lto_input_block *ib_cfg, + cgraph_node *node) { struct function *fn; enum LTO_tags tag; gimple **stmts; basic_block bb; - struct cgraph_node *node; tag = streamer_read_record_start (ib); lto_tag_check (tag, LTO_function); @@ -1064,9 +1064,6 @@ input_function (tree fn_decl, class data_in *data_in, gimple_register_cfg_hooks (); - node = cgraph_node::get (fn_decl); - if (!node) - node = cgraph_node::create (fn_decl); input_struct_function_base (fn, data_in, ib); input_cfg (ib_cfg, data_in, fn); @@ -1293,7 +1290,8 @@ lto_read_body_or_constructor (struct lto_file_decl_data *file_data, struct symta { lto_input_block ib_cfg (data + cfg_offset, header->cfg_size, file_data->mode_table); - input_function (fn_decl, data_in, &ib_main, &ib_cfg); + input_function (fn_decl, data_in, &ib_main, &ib_cfg, + dyn_cast (node)); } else input_constructor (fn_decl, data_in, &ib_main);