diff options
author | Jan Hubicka <jh@suse.cz> | 2011-10-04 11:46:56 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-10-04 09:46:56 +0000 |
commit | 398f05daa1904a479a58c212012faa10b65e8834 (patch) | |
tree | 57ee07886936e8cdf54731ec7b22e1981530e307 /gcc/lto-streamer-in.c | |
parent | 36a50ab6e0a6dcf32f1ece84621704cd9b16eabe (diff) | |
download | gcc-398f05daa1904a479a58c212012faa10b65e8834.zip gcc-398f05daa1904a479a58c212012faa10b65e8834.tar.gz gcc-398f05daa1904a479a58c212012faa10b65e8834.tar.bz2 |
lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.
* lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.
* lto-streamer-in.c (lto_input_toplevel_asms): Stream in order.
* lto-streamer-out.c (lto_output_toplevel_asms): Stream out order.
* lto-cgraph.c (order_base): New static var.
(lto_output_node): Stream in order.
(lto_output_varpool_node): Stream out order.
(input_node): Stream in order.
(input_varpool_node): Stream out order.
(input_cgraph_1): Initialize order base; update call of
lto_input_toplevel_asms.
From-SVN: r179496
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r-- | gcc/lto-streamer-in.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index ef972ca..d4e80c7 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -1144,7 +1144,7 @@ lto_input_tree (struct lto_input_block *ib, struct data_in *data_in) /* Input toplevel asms. */ void -lto_input_toplevel_asms (struct lto_file_decl_data *file_data) +lto_input_toplevel_asms (struct lto_file_decl_data *file_data, int order_base) { size_t len; const char *data = lto_get_section_data (file_data, LTO_section_asm, @@ -1173,7 +1173,12 @@ lto_input_toplevel_asms (struct lto_file_decl_data *file_data) header->lto_header.minor_version); while ((str = streamer_read_string_cst (data_in, &ib))) - cgraph_add_asm_node (str); + { + struct cgraph_asm_node *node = cgraph_add_asm_node (str); + node->order = streamer_read_hwi (&ib) + order_base; + if (node->order >= cgraph_order) + cgraph_order = node->order + 1; + } clear_line_info (data_in); lto_data_in_delete (data_in); |