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.
Referenced by pack_ts_block_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.
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 streamer_write_string_with_length().
void streamer_write_gcov_count | ( | ) |
Write a gcov counter value WORK to OB->main_stream.
References lto_output_stream::current_pointer, lto_output_stream::left_in_block, and lto_append_block().
Referenced by output_eh_regions().
void streamer_write_gcov_count_stream | ( | ) |
Write a GCOV counter value WORK to OBS.
Referenced by streamer_write_hwi().
void streamer_write_hwi | ( | ) |
Write a HOST_WIDE_INT value WORK to OB->main_stream.
References output_block::main_stream, and streamer_write_gcov_count_stream().
Referenced by output_eh_regions(), and output_eh_try_list().
void streamer_write_hwi_stream | ( | ) |
Write a HOST_WIDE_INT value WORK to OBS.
If the lower 7-bits are sign-extended 0 or -1 we are finished.
More bits to follow.
Referenced by streamer_write_uhwi().
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.
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_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_hwi_stream().
Referenced by output_eh_regions(), and read_inline_edge_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.
More bytes to follow.
More bytes to follow.
Referenced by bp_pack_value(), streamer_string_index(), streamer_write_string_with_length(), and streamer_write_zero().
void streamer_write_zero | ( | ) |
Write a zero to the output stream.
References output_block::main_stream, and streamer_write_uhwi_stream().
Referenced by output_eh_try_list().