GCC Middle and Back End API Reference
|
#include "lto-streamer.h"
Go to the source code of this file.
Data Structures | |
struct | bitpack_d |
Macros | |
#define | streamer_write_enum(obs, enum_name, enum_last, val) |
#define | streamer_read_enum(ib, enum_name, enum_last) |
#define | bp_pack_enum(bp, enum_name, enum_last, val) |
#define | bp_unpack_enum(bp, enum_name, enum_last) |
Typedefs | |
typedef unsigned HOST_WIDE_INT | bitpack_word_t |
Variables | |
static unsigned const | BITS_PER_BITPACK_WORD = HOST_BITS_PER_WIDE_INT |
unsigned | host_num_poly_int_coeffs |
#define bp_pack_enum | ( | bp, | |
enum_name, | |||
enum_last, | |||
val ) |
Output VAL of type "enum enum_name" into BP. Assume range 0...ENUM_LAST - 1.
Referenced by bp_pack_machine_mode(), lto_output_edge(), lto_output_node(), lto_write_mode_table(), pack_ts_function_decl_value_fields(), pack_ts_omp_clause_value_fields(), stream_out_histogram_value(), and streamer_write_tree_bitfields().
#define bp_unpack_enum | ( | bp, | |
enum_name, | |||
enum_last ) |
Input enum of type "enum enum_name" from BP. Assume range 0...ENUM_LAST - 1.
Referenced by bp_unpack_machine_mode(), input_edge(), input_overwrite_node(), lto_input_mode_table(), stream_in_histogram_value(), streamer_read_tree_bitfields(), unpack_ts_function_decl_value_fields(), and unpack_ts_omp_clause_value_fields().
#define streamer_read_enum | ( | ib, | |
enum_name, | |||
enum_last ) |
Input enum of type "enum enum_name" from IB. Assume range 0...ENUM_LAST - 1.
Referenced by input_cfg(), input_cgraph_1(), input_gimple_stmt(), input_offload_tables(), input_varpool_node(), streamer_read_record_start(), and streamer_read_value_range().
#define streamer_write_enum | ( | obs, | |
enum_name, | |||
enum_last, | |||
val ) |
Output VAL of type "enum enum_name" into OBS. Assume range 0...ENUM_LAST - 1.
Referenced by lto_output_edge(), lto_output_node(), lto_output_varpool_node(), output_cfg(), output_gimple_stmt(), output_offload_tables(), and streamer_write_record_start().
typedef unsigned HOST_WIDE_INT bitpack_word_t |
|
inline |
Returns a new bit-packing context for bit-packing into S.
References bitpack_d::pos, bitpack_d::stream, and bitpack_d::word.
Referenced by ipa_fn_summary_write(), ipa_odr_summary_write(), ipa_write_indirect_edge_info(), ipa_write_jump_function(), ipa_write_node_info(), lto_output_edge(), lto_output_node(), lto_output_ref(), lto_output_varpool_node(), lto_write_mode_table(), output_cfg(), output_eh_region(), output_gimple_stmt(), output_node_opt_summary(), output_phi(), output_struct_function_base(), pure_const_write_summary(), ipa_polymorphic_call_context::stream_out(), stream_out_histogram_value(), ipa_vr::streamer_write(), streamer_write_real_value(), streamer_write_tree_bitfields(), streamer_write_tree_header(), write_ipa_call_summary(), and write_ipcp_transformation_info().
|
inline |
Output VAL into BP and verify it is in range MIN...MAX that is supposed to be compile time constant. Be host independent, limit range to 31bits.
References bp_pack_value(), floor_log2(), and gcc_checking_assert.
Referenced by lto_output_location_1().
|
inline |
Pack VAL into the bit-packing context BP, using NBITS for each coefficient.
References bp_pack_value(), poly_int< N, C >::coeffs, i, and NUM_POLY_INT_COEFFS.
Referenced by lto_write_mode_table().
void bp_pack_real_value | ( | struct bitpack_d * | bp, |
const REAL_VALUE_TYPE * | r ) |
Pack REAL_VALUE_TYPE R into BP.
References bp_pack_value(), EXP_BITS, HOST_BITS_PER_LONG, i, r, and SIGSZ.
Referenced by pack_ts_real_cst_value_fields(), and streamer_write_real_value().
void bp_pack_string | ( | struct output_block * | ob, |
struct bitpack_d * | bp, | ||
const char * | s, | ||
bool | persistent ) |
Output the '\0' terminated STRING to the string table in OB. Then put the index onto the bitpack BP. When PERSISTENT is set, the string S is supposed to not change during duration of the OB and thus OB can keep pointer into it.
References bp_pack_var_len_unsigned(), string_slot::s, and streamer_string_index().
Referenced by lto_output_location_1(), lto_write_mode_table(), and pack_ts_translation_unit_decl_value_fields().
void bp_pack_string_with_length | ( | struct output_block * | ob, |
struct bitpack_d * | bp, | ||
const char * | s, | ||
unsigned int | len, | ||
bool | persistent ) |
Output STRING of LEN characters to the string table in OB. Then put the index into BP. When PERSISTENT is set, the string S is supposed to not change during duration of the OB and thus OB can keep pointer into it.
References bp_pack_var_len_unsigned(), string_slot::len, string_slot::s, and streamer_string_index().
|
inline |
Pack the NBITS bit sized value VAL into the bit-packing context BP.
References BITS_PER_BITPACK_WORD, gcc_checking_assert, bitpack_d::pos, bitpack_d::stream, streamer_write_uhwi_stream(), and bitpack_d::word.
Referenced by bp_pack_int_in_range(), bp_pack_poly_value(), bp_pack_real_value(), bp_pack_var_len_int(), bp_pack_var_len_unsigned(), ipa_fn_summary_write(), ipa_write_indirect_edge_info(), ipa_write_jump_function(), ipa_write_node_info(), lto_output_edge(), lto_output_location_1(), lto_output_node(), lto_output_ref(), lto_output_varpool_node(), lto_write_mode_table(), output_gimple_stmt(), output_node_opt_summary(), output_struct_function_base(), pack_ts_base_value_fields(), pack_ts_decl_common_value_fields(), pack_ts_decl_with_vis_value_fields(), pack_ts_decl_wrtl_value_fields(), pack_ts_function_decl_value_fields(), pack_ts_type_common_value_fields(), pure_const_write_summary(), ipa_polymorphic_call_context::stream_out(), stream_out_histogram_value(), ipa_vr::streamer_write(), streamer_write_tree_bitfields(), streamer_write_tree_header(), write_ipa_call_summary(), and write_ipcp_transformation_info().
void bp_pack_var_len_int | ( | struct bitpack_d * | bp, |
HOST_WIDE_INT | work ) |
Pack WORK into BP in a variant of sleb format.
References bp_pack_value().
Referenced by pack_ts_fixed_cst_value_fields(), and pack_ts_int_cst_value_fields().
void bp_pack_var_len_unsigned | ( | struct bitpack_d * | bp, |
unsigned HOST_WIDE_INT | work ) |
In data-streamer.cc
Generic streaming support for basic data types. Copyright (C) 2011-2024 Free Software Foundation, Inc. Contributed by Diego Novillo <dnovillo@google.com> This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
For offloading -- While streaming-out, host NUM_POLY_INT_COEFFS is stored at beginning of mode_table. While streaming-in, the value is read in host_num_poly_int_coeffs.
Pack WORK into BP in a variant of uleb format.
References bp_pack_value().
Referenced by bp_pack_string(), bp_pack_string_with_length(), lto_output_edge(), lto_output_location_1(), output_cfg(), output_gimple_stmt(), pack_ts_decl_common_value_fields(), pack_ts_type_common_value_fields(), and streamer_write_tree_bitfields().
const char * bp_unpack_indexed_string | ( | class data_in * | data_in, |
struct bitpack_d * | bp, | ||
unsigned int * | rlen ) |
Read a string from the string table in DATA_IN using the bitpack BP. Write the length to RLEN.
References bp_unpack_var_len_unsigned(), and string_for_index().
Referenced by bp_unpack_string(), and lto_input_mode_table().
|
inline |
Input VAL into BP and verify it is in range MIN...MAX that is supposed to be compile time constant. PURPOSE is used for error reporting.
References bp_unpack_value(), floor_log2(), gcc_checking_assert, and lto_value_range_error().
Referenced by lto_location_cache::input_location_and_block().
|
inline |
Unpacks a polynomial value from the bit-packing context BP in which each coefficient has NBITS bits.
References bp_unpack_value(), and poly_int_read_common().
Referenced by lto_input_mode_table().
void bp_unpack_real_value | ( | struct bitpack_d * | bp, |
REAL_VALUE_TYPE * | r ) |
Unpack REAL_VALUE_TYPE R from BP.
References bp_unpack_value(), EXP_BITS, HOST_BITS_PER_LONG, i, r, and SIGSZ.
Referenced by streamer_read_real_value(), and unpack_ts_real_cst_value_fields().
Read a NULL terminated string from the string table in DATA_IN.
References bp_unpack_indexed_string(), internal_error(), and NULL.
Referenced by lto_location_cache::input_location_and_block(), and unpack_ts_translation_unit_decl_value_fields().
|
inline |
Unpacks NBITS bits from the bit-packing context BP and returns them.
References BITS_PER_BITPACK_WORD, bitpack_d::pos, bitpack_d::stream, streamer_read_uhwi(), and bitpack_d::word.
Referenced by bp_unpack_int_in_range(), bp_unpack_poly_value(), bp_unpack_real_value(), bp_unpack_var_len_int(), bp_unpack_var_len_unsigned(), inline_read_section(), input_edge(), input_gimple_stmt(), lto_location_cache::input_location_and_block(), input_node_opt_summary(), input_overwrite_node(), input_ref(), input_struct_function_base(), input_varpool_node(), ipa_read_indirect_edge_info(), ipa_read_jump_function(), ipa_read_node_info(), lto_input_mode_table(), pure_const_read_summary(), read_ipa_call_summary(), read_ipcp_transformation_info(), ipa_polymorphic_call_context::stream_in(), stream_in_histogram_value(), streamer_alloc_tree(), ipa_vr::streamer_read(), streamer_read_tree_bitfields(), streamer_read_value_range(), unpack_ts_base_value_fields(), unpack_ts_decl_common_value_fields(), unpack_ts_decl_with_vis_value_fields(), unpack_ts_decl_wrtl_value_fields(), unpack_ts_function_decl_value_fields(), and unpack_ts_type_common_value_fields().
HOST_WIDE_INT bp_unpack_var_len_int | ( | struct bitpack_d * | bp | ) |
Unpack VAL from BP in a variant of sleb format.
References bp_unpack_value(), HOST_BITS_PER_WIDE_INT, and HOST_WIDE_INT_1U.
Referenced by unpack_ts_fixed_cst_value_fields(), and unpack_ts_int_cst_value_fields().
unsigned HOST_WIDE_INT bp_unpack_var_len_unsigned | ( | struct bitpack_d * | bp | ) |
Unpack VAL from BP in a variant of uleb format.
References bp_unpack_value().
Referenced by bp_unpack_indexed_string(), input_cfg(), input_edge(), input_gimple_stmt(), lto_location_cache::input_location_and_block(), streamer_read_tree_bitfields(), unpack_ts_decl_common_value_fields(), and unpack_ts_type_common_value_fields().
poly_int< NUM_POLY_INT_COEFFS, C > poly_int_read_common | ( | F | read_coeff, |
Args ... | args ) |
Common code for reading poly_int.
References poly_int< N, C >::coeffs, fatal_error(), gcc_assert, host_num_poly_int_coeffs, i, input_location, and NUM_POLY_INT_COEFFS.
Referenced by bp_unpack_poly_value(), streamer_read_poly_int64(), and streamer_read_poly_uint64().
|
inline |
Returns a new bit-packing context for bit-unpacking from IB.
References bitpack_d::pos, bitpack_d::stream, streamer_read_uhwi(), and bitpack_d::word.
Referenced by inline_read_section(), input_cfg(), input_edge(), input_eh_region(), input_gimple_stmt(), input_node(), input_node_opt_summary(), input_phi(), input_ref(), input_struct_function_base(), input_varpool_node(), ipa_odr_read_section(), ipa_read_indirect_edge_info(), ipa_read_jump_function(), ipa_read_node_info(), lto_input_mode_table(), pure_const_read_summary(), read_ipa_call_summary(), read_ipcp_transformation_info(), ipa_polymorphic_call_context::stream_in(), stream_in_histogram_value(), streamer_alloc_tree(), ipa_vr::streamer_read(), streamer_read_real_value(), streamer_read_tree_bitfields(), and streamer_read_value_range().
gcov_type streamer_read_gcov_count | ( | class lto_input_block * | ib | ) |
Read gcov_type value from IB.
References streamer_read_hwi().
Referenced by input_profile_summary(), ipa_profile_read_summary(), profile_count::stream_in(), and stream_in_histogram_value().
HOST_WIDE_INT streamer_read_hwi | ( | class lto_input_block * | ib | ) |
Read a HOST_WIDE_INT number from IB.
References HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT_1U, and streamer_read_uchar().
Referenced by input_bb(), input_cfg(), input_edge(), input_eh_lp(), input_eh_region(), input_eh_regions(), input_gimple_stmt(), input_node(), input_node_opt_summary(), input_offload_tables(), input_ref(), input_struct_function_base(), input_varpool_node(), ipa_profile_read_edge_summary(), ipa_read_indirect_edge_info(), ipa_read_node_info(), ipa_reference_read_optimization_summary(), lto_input_toplevel_asms(), lto_input_tree_1(), omp_lto_input_declare_variant_alt(), ipa_polymorphic_call_context::stream_in(), modref_access_node::stream_in(), sreal::stream_in(), stream_in_histogram_value(), stream_read_tree_ref(), streamer_alloc_tree(), streamer_read_gcov_count(), streamer_read_poly_int64(), streamer_read_wide_int(), and streamer_read_widest_int().
|
inline |
Input VAL into OBS and verify it is in range MIN...MAX that is supposed to be compile time constant. PURPOSE is used for error reporting.
References gcc_checking_assert, lto_value_range_error(), and streamer_read_uhwi().
const char * streamer_read_indexed_string | ( | class data_in * | data_in, |
class lto_input_block * | ib, | ||
unsigned int * | rlen ) |
Read a string from the string table in DATA_IN using input block IB. Write the length to RLEN.
References streamer_read_uhwi(), and string_for_index().
Referenced by input_identifier(), streamer_read_string(), and streamer_read_string_cst().
poly_int64 streamer_read_poly_int64 | ( | class lto_input_block * | ib | ) |
Read a poly_int64 from IB.
References poly_int_read_common(), and streamer_read_hwi().
Referenced by modref_access_node::stream_in().
poly_uint64 streamer_read_poly_uint64 | ( | class lto_input_block * | ib | ) |
Read a poly_uint64 from IB.
References poly_int_read_common(), and streamer_read_uhwi().
|
inline |
Return the next tag in the input block IB.
References LTO_NUM_TAGS, and streamer_read_enum.
Referenced by input_bb(), input_eh_lp(), input_eh_region(), input_eh_regions(), input_function(), lto_input_eh_catch_list(), lto_input_scc(), lto_input_tree(), and lto_read_tree_1().
const char * streamer_read_string | ( | class data_in * | data_in, |
class lto_input_block * | ib ) |
In data-streamer-in.cc
Read a NULL terminated string from the string table in DATA_IN.
References internal_error(), NULL, and streamer_read_indexed_string().
Referenced by ipa_odr_read_section(), and lto_read_tree_1().
|
inline |
Read byte from the input block.
References lto_input_block::data, lto_input_block::len, lto_section_overrun(), and lto_input_block::p.
Referenced by input_eh_regions(), input_ssa_names(), lto_input_data_block(), and streamer_read_hwi().
unsigned HOST_WIDE_INT streamer_read_uhwi | ( | class lto_input_block * | ib | ) |
Read an unsigned HOST_WIDE_INT number from IB.
References lto_input_block::data, lto_input_block::len, lto_section_overrun(), and lto_input_block::p.
Referenced by bp_unpack_value(), inline_read_section(), input_bb(), input_cfg(), input_cgraph_opt_section(), input_eh_region(), input_function(), input_gimple_stmt(), input_node(), input_node_opt_summary(), input_phi(), input_profile_summary(), input_refs(), input_ssa_names(), input_struct_function_base(), ipa_odr_read_section(), ipa_profile_read_summary(), ipa_profile_read_summary_section(), ipa_prop_read_section(), ipa_read_edge_info(), ipa_read_jump_function(), ipa_read_node_info(), ipa_reference_read_optimization_summary(), lto_input_fn_decl_ref(), lto_input_scc(), lto_input_tree_1(), lto_input_tree_ref(), lto_input_var_decl_ref(), lto_read_tree_1(), pure_const_read_summary(), read_ipa_call_summary(), read_ipcp_transformation_info(), read_replacements_section(), ipa_icf::sem_item_optimizer::read_section(), ipa_predicate::stream_in(), modref_access_node::stream_in(), profile_count::stream_in(), profile_probability::stream_in(), thunk_info::stream_in(), stream_in_histogram_value(), streamer_alloc_tree(), streamer_get_pickled_tree(), streamer_read_bitpack(), streamer_read_hwi_in_range(), streamer_read_indexed_string(), streamer_read_poly_uint64(), streamer_read_value_range(), streamer_read_wide_int(), streamer_read_widest_int(), and string_for_index().
void streamer_read_value_range | ( | class lto_input_block * | ib, |
class data_in * | data_in, | ||
class value_range & | vr ) |
References as_a(), bool, bp_unpack_value(), gcc_checking_assert, gcc_unreachable, i, is_a< frange >(), is_a< irange >(), is_a< prange >(), r, REAL_VALUE_TYPE, value_range::set_type(), stream_read_tree, streamer_read_bitpack(), streamer_read_enum, streamer_read_real_value(), streamer_read_uhwi(), streamer_read_wide_int(), VR_LAST, VR_NAN, and VR_UNDEFINED.
Referenced by ipa_vr::streamer_read().
wide_int streamer_read_wide_int | ( | class lto_input_block * | ib | ) |
Read the physical representation of a wide_int val from input block IB.
References a, wide_int_storage::from_array(), i, streamer_read_hwi(), streamer_read_uhwi(), UNLIKELY, and WIDE_INT_MAX_INL_ELTS.
Referenced by ipa_odr_read_section(), and streamer_read_value_range().
widest_int streamer_read_widest_int | ( | class lto_input_block * | ib | ) |
Read the physical representation of a widest_int val from input block IB.
References a, i, streamer_read_hwi(), streamer_read_uhwi(), UNLIKELY, and WIDE_INT_MAX_INL_ELTS.
Referenced by input_cfg().
|
inline |
Finishes bit-packing of BP.
References bitpack_d::pos, bitpack_d::stream, streamer_write_uhwi_stream(), and bitpack_d::word.
Referenced by ipa_fn_summary_write(), ipa_odr_summary_write(), ipa_write_indirect_edge_info(), ipa_write_jump_function(), ipa_write_node_info(), lto_output_edge(), lto_output_location_1(), lto_output_node(), lto_output_ref(), lto_output_varpool_node(), lto_write_mode_table(), output_eh_region(), output_node_opt_summary(), output_struct_function_base(), pure_const_write_summary(), ipa_polymorphic_call_context::stream_out(), stream_out_histogram_value(), ipa_vr::streamer_write(), streamer_write_real_value(), streamer_write_tree_bitfields(), streamer_write_tree_header(), write_ipa_call_summary(), and write_ipcp_transformation_info().
|
inline |
Write a character to the output block.
References lto_output_stream::current_pointer, lto_output_stream::left_in_block, lto_append_block(), and lto_output_stream::total_size.
Referenced by ipa_fn_summary_write(), ipa_prop_write_jump_functions(), ipcp_write_transformation_summaries(), lto_output_toplevel_asms(), output_constructor(), output_eh_regions(), output_function(), output_ssa_names(), produce_asm_for_decls(), streamer_write_string(), streamer_write_string_with_length(), streamer_write_zero(), and ipa_icf::sem_item_optimizer::write_summary().
void streamer_write_data_stream | ( | struct lto_output_stream * | obs, |
const void * | data, | ||
size_t | len ) |
Write raw DATA of length LEN to the output block OB.
References lto_output_stream::current_pointer, lto_output_stream::left_in_block, string_slot::len, lto_append_block(), and lto_output_stream::total_size.
Referenced by lto_output_node(), lto_output_varpool_node(), and streamer_string_index().
void streamer_write_gcov_count | ( | struct output_block * | ob, |
gcov_type | work ) |
Write a gcov counter value WORK to OB->main_stream.
References output_block::main_stream, and streamer_write_gcov_count_stream().
Referenced by profile_count::stream_out(), and stream_out_histogram_value().
void streamer_write_gcov_count_stream | ( | struct lto_output_stream * | obs, |
gcov_type | work ) |
Write a GCOV counter value WORK to OBS.
References gcc_assert, and streamer_write_hwi_stream().
Referenced by ipa_profile_write_summary(), output_profile_summary(), output_refs(), profile_count::stream_out(), and streamer_write_gcov_count().
void streamer_write_hwi | ( | struct output_block * | ob, |
HOST_WIDE_INT | work ) |
Write a HOST_WIDE_INT value WORK to OB->main_stream.
References output_block::main_stream, and streamer_write_hwi_stream().
Referenced by ipa_fn_summary_write(), ipa_write_indirect_edge_info(), ipa_write_node_info(), lto_output_toplevel_asms(), output_bb(), output_cfg(), output_eh_lp(), output_eh_region(), output_eh_regions(), output_gimple_stmt(), output_node_opt_summary(), output_struct_function_base(), ipa_polymorphic_call_context::stream_out(), modref_access_node::stream_out(), sreal::stream_out(), stream_out_histogram_value(), stream_write_tree_ref(), streamer_write_integer_cst(), streamer_write_tree_header(), streamer_write_wide_int(), and streamer_write_widest_int().
|
inline |
Output VAL into OBS and verify it is in range MIN...MAX that is supposed to be compile time constant. Be host independent, limit range to 31bits.
References gcc_checking_assert, and streamer_write_uhwi_stream().
void streamer_write_hwi_stream | ( | struct lto_output_stream * | obs, |
HOST_WIDE_INT | work ) |
Write a HOST_WIDE_INT value WORK to OBS.
References lto_output_stream::current_pointer, lto_output_stream::left_in_block, lto_append_block(), and lto_output_stream::total_size.
Referenced by ipa_profile_write_edge_summary(), lto_output_edge(), lto_output_node(), lto_output_ref(), lto_output_varpool_node(), omp_lto_output_declare_variant_alt(), output_offload_tables(), stream_out_bitmap(), streamer_write_gcov_count_stream(), streamer_write_hwi(), and streamer_write_poly_int64().
void streamer_write_poly_int64 | ( | struct output_block * | ob, |
poly_int64 | work ) |
Write a poly_int64 value WORK to OB->main_stream.
References poly_int< N, C >::coeffs, i, output_block::main_stream, NUM_POLY_INT_COEFFS, and streamer_write_hwi_stream().
Referenced by modref_access_node::stream_out().
void streamer_write_poly_uint64 | ( | struct output_block * | ob, |
poly_uint64 | work ) |
Write a poly_uint64 value WORK to OB->main_stream.
References poly_int< N, C >::coeffs, i, output_block::main_stream, NUM_POLY_INT_COEFFS, and streamer_write_uhwi_stream().
|
inline |
Output the start of a record with TAG to output block OB.
References LTO_NUM_TAGS, output_block::main_stream, and streamer_write_enum.
Referenced by DFS::DFS(), lto_output_tree(), output_bb(), output_eh_lp(), output_eh_region(), output_eh_regions(), output_eh_try_list(), output_function(), output_gimple_stmt(), output_phi(), streamer_write_integer_cst(), and streamer_write_tree_header().
void streamer_write_string | ( | struct output_block * | ob, |
struct lto_output_stream * | index_stream, | ||
const char * | string, | ||
bool | persistent ) |
Output the '\0' terminated STRING to the string table in OB. Then put the index onto the INDEX_STREAM. When PERSISTENT is set, the string S is supposed to not change during duration of the OB and thus OB can keep pointer into it.
References streamer_write_char_stream(), and streamer_write_string_with_length().
Referenced by ipa_odr_summary_write(), lto_write_tree_1(), and output_gimple_stmt().
void streamer_write_string_with_length | ( | struct output_block * | ob, |
struct lto_output_stream * | index_stream, | ||
const char * | s, | ||
unsigned int | len, | ||
bool | persistent ) |
Output STRING of LEN characters to the string table in OB. The string might or might not include a trailing '\0'. Then put the index onto the INDEX_STREAM. When PERSISTENT is set, the string S is supposed to not change during duration of the OB and thus OB can keep pointer into it.
References string_slot::len, string_slot::s, streamer_string_index(), streamer_write_char_stream(), and streamer_write_uhwi_stream().
Referenced by streamer_write_string(), streamer_write_string_cst(), streamer_write_tree_header(), and write_identifier().
void streamer_write_uhwi | ( | struct output_block * | ob, |
unsigned HOST_WIDE_INT | work ) |
Write an unsigned HOST_WIDE_INT value WORK to OB->main_stream.
References output_block::main_stream, and streamer_write_uhwi_stream().
Referenced by DFS::DFS(), ipa_fn_summary_write(), ipa_odr_summary_write(), ipa_prop_write_jump_functions(), ipa_write_jump_function(), ipa_write_node_info(), ipcp_write_transformation_summaries(), lto_output_tree(), lto_write_tree_1(), output_bb(), output_cfg(), output_cgraph_opt_summary(), output_eh_region(), output_function(), output_gimple_stmt(), output_node_opt_summary(), output_phi(), output_ssa_names(), output_struct_function_base(), ipa_predicate::stream_out(), modref_access_node::stream_out(), profile_count::stream_out(), profile_probability::stream_out(), stream_out_histogram_value(), streamer_write_integer_cst(), streamer_write_tree_header(), streamer_write_wide_int(), streamer_write_widest_int(), write_ipa_call_summary(), write_ipcp_transformation_info(), and ipa_icf::sem_item_optimizer::write_summary().
void streamer_write_uhwi_stream | ( | struct lto_output_stream * | obs, |
unsigned HOST_WIDE_INT | work ) |
Write an unsigned HOST_WIDE_INT value WORK to OBS.
References lto_output_stream::current_pointer, lto_output_stream::left_in_block, lto_append_block(), and lto_output_stream::total_size.
Referenced by bp_pack_value(), ipa_profile_write_summary(), ipa_reference_write_optimization_summary(), lto_output_fn_decl_ref(), lto_output_var_decl_ref(), output_offload_tables(), output_profile_summary(), output_refs(), output_symtab(), pure_const_write_summary(), profile_count::stream_out(), profile_probability::stream_out(), thunk_info::stream_out(), streamer_string_index(), streamer_write_bitpack(), streamer_write_hwi_in_range(), streamer_write_poly_uint64(), streamer_write_string_with_length(), streamer_write_uhwi(), and ipa_icf::sem_item_optimizer::write_summary().
void streamer_write_vrange | ( | struct output_block * | , |
const class vrange & | ) |
void streamer_write_wide_int | ( | struct output_block * | ob, |
const wide_int & | val ) |
Emit the physical representation of wide_int VAL to output block OB.
References generic_wide_int< storage >::elt(), wide_int_storage::get_len(), wide_int_storage::get_precision(), i, string_slot::len, streamer_write_hwi(), and streamer_write_uhwi().
Referenced by ipa_odr_summary_write().
void streamer_write_widest_int | ( | struct output_block * | ob, |
const widest_int & | w ) |
Emit the physical representation of widest_int W to output block OB.
References generic_wide_int< storage >::elt(), widest_int_storage< N >::get_len(), widest_int_storage< N >::get_precision(), i, string_slot::len, streamer_write_hwi(), and streamer_write_uhwi().
Referenced by output_cfg().
void streamer_write_zero | ( | struct output_block * | ob | ) |
In data-streamer-out.cc
Write a zero to the output stream.
References output_block::main_stream, and streamer_write_char_stream().
Referenced by output_eh_lp(), output_eh_region(), output_ssa_names(), and stream_write_tree_ref().
|
static |
Generic streaming support for various data types. Copyright (C) 2011-2024 Free Software Foundation, Inc. Contributed by Diego Novillo <dnovillo@google.com> This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
Data structures used to pack values and bitflags into a vector of words. Used to stream values of a fixed number of bits in a space efficient way.
Referenced by bp_pack_value(), and bp_unpack_value().
|
extern |
Referenced by lto_input_mode_table(), lto_input_ts_poly_tree_pointers(), and poly_int_read_common().