+2019-12-13 Jan Hubicka <hubicka@ucw.cz>
+
+ * lto-streamer-in.c (input_function): Add node parameter.
+ (lto_read_body_or_constructor): Use it.
+
2019-12-13 Roman Zhuykov <zhroma@ispras.ru>
PR rtl-optimization/92591
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);
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);
{
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 <cgraph_node *>(node));
}
else
input_constructor (fn_decl, data_in, &ib_main);