GCC Middle and Back End API Reference
|
Functions | |
unsigned | streamer_string_index (struct output_block *ob, const char *s, unsigned int len, bool persistent) |
void | streamer_write_string_with_length (struct output_block *ob, struct lto_output_stream *index_stream, const char *s, unsigned int len, bool persistent) |
void | streamer_write_string (struct output_block *ob, struct lto_output_stream *index_stream, const char *string, bool persistent) |
void | bp_pack_string_with_length (struct output_block *ob, struct bitpack_d *bp, const char *s, unsigned int len, bool persistent) |
void | bp_pack_string (struct output_block *ob, struct bitpack_d *bp, const char *s, bool persistent) |
void | streamer_write_zero () |
void | streamer_write_uhwi () |
void | streamer_write_hwi () |
void | streamer_write_gcov_count () |
void | streamer_write_uhwi_stream (struct lto_output_stream *obs, unsigned HOST_WIDE_INT work) |
void | streamer_write_hwi_stream () |
void | streamer_write_gcov_count_stream () |
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(), streamer_string_index(), and strlen().
Referenced by 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(), and streamer_string_index().
unsigned streamer_string_index | ( | struct output_block * | ob, |
const char * | s, | ||
unsigned int | len, | ||
bool | persistent | ||
) |
@verbatim Routines for saving various data types to a file stream. This deals
with various data types like strings, integers, enums, etc.
Copyright (C) 2011-2013 Free Software Foundation, Inc. Contributed by Diego Novillo dnovi llo@ googl e.co m
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/.
Return index used to reference STRING of LEN characters in 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 hash_table< Descriptor, Allocator >::find_slot(), len, string_slot::len, lto_output_data_stream(), memcpy(), output_block::obstack, string_slot::s, string_slot::slot_num, streamer_write_uhwi_stream(), output_block::string_hash_table, output_block::string_stream, and lto_output_stream::total_size.
Referenced by bp_pack_string(), bp_pack_string_with_length(), lto_output_location(), and streamer_write_string_with_length().
void streamer_write_gcov_count | ( | ) |
Write a gcov counter value WORK to OB->main_stream.
References output_block::main_stream, and streamer_write_gcov_count_stream().
Referenced by output_bb(), output_cfg(), and stream_out_histogram_value().
void streamer_write_gcov_count_stream | ( | ) |
Write a GCOV counter value WORK to OBS.
References HOST_WIDE_INT, and streamer_write_hwi_stream().
Referenced by ipa_profile_write_summary(), lto_output_edge(), lto_output_node(), output_profile_summary(), output_refs(), and streamer_write_gcov_count().
void streamer_write_hwi | ( | ) |
Write a HOST_WIDE_INT value WORK to OB->main_stream.
References output_block::main_stream, and streamer_write_hwi_stream().
Referenced by inline_write_summary(), 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_struct_function_base(), stream_out_histogram_value(), streamer_write_integer_cst(), and streamer_write_tree_header().
void streamer_write_hwi_stream | ( | ) |
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 lto_output_edge(), lto_output_node(), lto_output_ref(), lto_output_varpool_node(), stream_out_bitmap(), streamer_write_gcov_count_stream(), and streamer_write_hwi().
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(), streamer_write_string_with_length(), and strlen().
Referenced by output_gimple_stmt(), and streamer_write_builtin().
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 streamer_string_index(), streamer_write_char_stream(), and streamer_write_uhwi_stream().
Referenced by streamer_write_string(), streamer_write_string_cst(), and write_identifier().
void streamer_write_uhwi | ( | ) |
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_write_tree(), inline_write_summary(), ipa_prop_write_all_agg_replacement(), ipa_prop_write_jump_functions(), ipa_write_jump_function(), ipa_write_node_info(), lto_output_tree(), lto_output_tree_ref(), 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(), stream_out_histogram_value(), streamer_write_builtin(), streamer_write_integer_cst(), streamer_write_tree_header(), write_agg_replacement_chain(), write_inline_edge_summary(), and write_predicate().
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_decl_index(), lto_output_node(), output_profile_summary(), output_refs(), output_symtab(), pure_const_write_summary(), streamer_string_index(), streamer_write_bitpack(), streamer_write_hwi_in_range(), streamer_write_string_with_length(), and streamer_write_uhwi().
void streamer_write_zero | ( | ) |
Write a zero to the output stream.
References output_block::main_stream, and streamer_write_char_stream().
Referenced by DFS_write_tree(), lto_write_tree(), output_eh_lp(), output_eh_region(), and output_ssa_names().