summaryrefslogtreecommitdiff
path: root/gcc/lto-section-in.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2015-02-26 12:26:11 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2015-02-26 12:26:11 +0000
commit2e971afda97df69eaf05cfa33b9a108cc8b97a45 (patch)
tree4cfafb39979c3cd73421161d2411ccb6693f4928 /gcc/lto-section-in.c
parentf000c9b64f4f337179650213612c750f82a344a5 (diff)
downloadgcc-2e971afda97df69eaf05cfa33b9a108cc8b97a45.tar.gz
* passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
(ipa_write_optimization_summaries): Likewise. * tree-streamer.h: Include data-streamer.h. (streamer_mode_table): Declare extern variable. (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions. * lto-streamer-out.c (lto_output_init_mode_table, lto_write_mode_table): New functions. (produce_asm_for_decls): Call lto_write_mode_table when streaming offloading LTO. * lto-section-in.c (lto_section_name): Add "mode_table" entry. (lto_create_simple_input_block): Add mode_table argument to the lto_input_block constructors. * ipa-prop.c (ipa_prop_read_section, read_replacements_section): Likewise. * data-streamer-in.c (string_for_index): Likewise. * ipa-inline-analysis.c (inline_read_section): Likewise. * ipa-icf.c (sem_item_optimizer::read_section): Likewise. * lto-cgraph.c (input_cgraph_opt_section): Likewise. * lto-streamer-in.c (lto_read_body_or_constructor, lto_input_toplevel_asms): Likewise. (lto_input_mode_table): New function. * tree-streamer-out.c (pack_ts_fixed_cst_value_fields, pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields): Use bp_pack_machine_mode. * real.h (struct real_format): Add name field. * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table. (class lto_input_block): Add mode_table member. (lto_input_block::lto_input_block): Add mode_table_ argument, initialize mode_table. (struct lto_file_decl_data): Add mode_table field. (lto_input_mode_table, lto_output_init_mode_table): New prototypes. * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields, unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode. * tree-streamer.c (streamer_mode_table): New variable. * real.c (ieee_single_format, mips_single_format, motorola_single_format, spu_single_format, ieee_double_format, mips_double_format, motorola_double_format, ieee_extended_motorola_format, ieee_extended_intel_96_format, ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, ibm_extended_format, mips_extended_format, ieee_quad_format, mips_quad_format, vax_f_format, vax_d_format, vax_g_format, decimal_single_format, decimal_double_format, decimal_quad_format, ieee_half_format, arm_half_format, real_internal_format): Add name field. * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise. lto/ * lto.c (lto_mode_identity_table): New variable. (lto_read_decls): Add mode_table argument to the lto_input_block constructor. (lto_file_finalize): Initialize mode_table. (lto_init): Initialize lto_mode_identity_table. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221005 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-section-in.c')
-rw-r--r--gcc/lto-section-in.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/lto-section-in.c b/gcc/lto-section-in.c
index 20eded67fba..092b0e28923 100644
--- a/gcc/lto-section-in.c
+++ b/gcc/lto-section-in.c
@@ -89,7 +89,8 @@ const char *lto_section_name[LTO_N_SECTION_TYPES] =
"inline",
"ipcp_trans",
"icf",
- "offload_table"
+ "offload_table",
+ "mode_table"
};
@@ -262,7 +263,8 @@ lto_create_simple_input_block (struct lto_file_decl_data *file_data,
return NULL;
*datar = data;
- return new lto_input_block (data + main_offset, header->main_size);
+ return new lto_input_block (data + main_offset, header->main_size,
+ file_data->mode_table);
}