GCC Middle and Back End API Reference
data-streamer-out.c File 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 ()

Function Documentation

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.nosp@m.llo@.nosp@m.googl.nosp@m.e.co.nosp@m.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 ( )
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_zero ( )