diff options
author | Jakub Jelinek <jakub@redhat.com> | 2015-02-26 13:26:11 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-02-26 13:26:11 +0100 |
commit | db847fa8f2cca6139188b8dfa0a7064319b19193 (patch) | |
tree | 4cfafb39979c3cd73421161d2411ccb6693f4928 /gcc/real.c | |
parent | 948f9b763d00ae77117179edf1980eb40d284326 (diff) | |
download | gcc-db847fa8f2cca6139188b8dfa0a7064319b19193.zip gcc-db847fa8f2cca6139188b8dfa0a7064319b19193.tar.gz gcc-db847fa8f2cca6139188b8dfa0a7064319b19193.tar.bz2 |
passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
* 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.
From-SVN: r221005
Diffstat (limited to 'gcc/real.c')
-rw-r--r-- | gcc/real.c | 72 |
1 files changed, 48 insertions, 24 deletions
@@ -3031,7 +3031,8 @@ const struct real_format ieee_single_format = true, true, true, - false + false, + "ieee_single" }; const struct real_format mips_single_format = @@ -3052,7 +3053,8 @@ const struct real_format mips_single_format = true, true, false, - true + true, + "mips_single" }; const struct real_format motorola_single_format = @@ -3073,7 +3075,8 @@ const struct real_format motorola_single_format = true, true, true, - true + true, + "motorola_single" }; /* SPU Single Precision (Extended-Range Mode) format is the same as IEEE @@ -3105,7 +3108,8 @@ const struct real_format spu_single_format = true, true, false, - false + false, + "spu_single" }; /* IEEE double-precision format. */ @@ -3314,7 +3318,8 @@ const struct real_format ieee_double_format = true, true, true, - false + false, + "ieee_double" }; const struct real_format mips_double_format = @@ -3335,7 +3340,8 @@ const struct real_format mips_double_format = true, true, false, - true + true, + "mips_double" }; const struct real_format motorola_double_format = @@ -3356,7 +3362,8 @@ const struct real_format motorola_double_format = true, true, true, - true + true, + "motorola_double" }; /* IEEE extended real format. This comes in three flavors: Intel's as @@ -3700,7 +3707,8 @@ const struct real_format ieee_extended_motorola_format = true, true, true, - true + true, + "ieee_extended_motorola" }; const struct real_format ieee_extended_intel_96_format = @@ -3721,7 +3729,8 @@ const struct real_format ieee_extended_intel_96_format = true, true, true, - false + false, + "ieee_extended_intel_96" }; const struct real_format ieee_extended_intel_128_format = @@ -3742,7 +3751,8 @@ const struct real_format ieee_extended_intel_128_format = true, true, true, - false + false, + "ieee_extended_intel_128" }; /* The following caters to i386 systems that set the rounding precision @@ -3765,7 +3775,8 @@ const struct real_format ieee_extended_intel_96_round_53_format = true, true, true, - false + false, + "ieee_extended_intel_96_round_53" }; /* IBM 128-bit extended precision format: a pair of IEEE double precision @@ -3853,7 +3864,8 @@ const struct real_format ibm_extended_format = true, true, true, - false + false, + "ibm_extended" }; const struct real_format mips_extended_format = @@ -3874,7 +3886,8 @@ const struct real_format mips_extended_format = true, true, false, - true + true, + "mips_extended" }; @@ -4137,7 +4150,8 @@ const struct real_format ieee_quad_format = true, true, true, - false + false, + "ieee_quad" }; const struct real_format mips_quad_format = @@ -4158,7 +4172,8 @@ const struct real_format mips_quad_format = true, true, false, - true + true, + "mips_quad" }; /* Descriptions of VAX floating point formats can be found beginning at @@ -4458,7 +4473,8 @@ const struct real_format vax_f_format = false, false, false, - false + false, + "vax_f" }; const struct real_format vax_d_format = @@ -4479,7 +4495,8 @@ const struct real_format vax_d_format = false, false, false, - false + false, + "vax_d" }; const struct real_format vax_g_format = @@ -4500,7 +4517,8 @@ const struct real_format vax_g_format = false, false, false, - false + false, + "vax_g" }; /* Encode real R into a single precision DFP value in BUF. */ @@ -4576,7 +4594,8 @@ const struct real_format decimal_single_format = true, true, true, - false + false, + "decimal_single" }; /* Double precision decimal floating point (IEEE 754). */ @@ -4598,7 +4617,8 @@ const struct real_format decimal_double_format = true, true, true, - false + false, + "decimal_double" }; /* Quad precision decimal floating point (IEEE 754). */ @@ -4620,7 +4640,8 @@ const struct real_format decimal_quad_format = true, true, true, - false + false, + "decimal_quad" }; /* Encode half-precision floats. This routine is used both for the IEEE @@ -4757,7 +4778,8 @@ const struct real_format ieee_half_format = true, true, true, - false + false, + "ieee_half" }; /* ARM's alternative half-precision format, similar to IEEE but with @@ -4781,7 +4803,8 @@ const struct real_format arm_half_format = true, true, false, - false + false, + "arm_half" }; /* A synthetic "format" for internal arithmetic. It's the size of the @@ -4826,7 +4849,8 @@ const struct real_format real_internal_format = false, true, true, - false + false, + "real_internal" }; /* Calculate X raised to the integer exponent N in mode MODE and store |