GCC Middle and Back End API Reference
tree-streamer-out.c File Reference

Functions

void streamer_write_string_cst (struct output_block *ob, struct lto_output_stream *index_stream, tree string)
static void write_identifier (struct output_block *ob, struct lto_output_stream *index_stream, tree id)
static void pack_ts_base_value_fields ()
static void pack_ts_int_cst_value_fields ()
static void pack_ts_real_cst_value_fields ()
static void pack_ts_fixed_cst_value_fields ()
static void pack_ts_decl_common_value_fields ()
static void pack_ts_decl_wrtl_value_fields ()
static void pack_ts_decl_with_vis_value_fields ()
static void pack_ts_function_decl_value_fields ()
static void pack_ts_type_common_value_fields ()
static void pack_ts_block_value_fields (struct output_block *ob, struct bitpack_d *bp, tree expr)
static void pack_ts_translation_unit_decl_value_fields (struct output_block *ob, struct bitpack_d *bp, tree expr)
static void pack_ts_target_option ()
static void pack_ts_optimization ()
void streamer_pack_tree_bitfields (struct output_block *ob, struct bitpack_d *bp, tree expr)
void streamer_write_builtin ()
void streamer_write_chain ()
static void write_ts_common_tree_pointers ()
static void write_ts_vector_tree_pointers ()
static void write_ts_complex_tree_pointers ()
static void write_ts_decl_minimal_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
static void write_ts_decl_common_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
static void write_ts_decl_non_common_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
static void write_ts_decl_with_vis_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
static void write_ts_field_decl_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
static void write_ts_function_decl_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
static void write_ts_type_common_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
static void write_ts_type_non_common_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
static void write_ts_list_tree_pointers ()
static void write_ts_vec_tree_pointers ()
static void write_ts_exp_tree_pointers ()
static void write_ts_block_tree_pointers ()
static void write_ts_binfo_tree_pointers ()
static void write_ts_constructor_tree_pointers (struct output_block *ob, tree expr, bool ref_p)
void streamer_write_tree_body ()
void streamer_write_tree_header ()
void streamer_write_integer_cst ()

Function Documentation

static void pack_ts_base_value_fields ( )
static
Pack all the non-pointer fields of the TS_BASE structure of
   expression EXPR into bitpack BP.   

References bp_pack_value().

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_block_value_fields ( struct output_block ob,
struct bitpack_d bp,
tree  expr 
)
static
Pack all the non-pointer fields of the TS_BLOCK structure
   of expression EXPR into bitpack BP.   

References bp_pack_value(), and inlined_function_outer_scope_p().

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_decl_common_value_fields ( )
static
Pack all the non-pointer fields of the TS_DECL_COMMON structure
   of expression EXPR into bitpack BP.   

References bp_pack_value(), and bp_pack_var_len_unsigned().

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_decl_with_vis_value_fields ( )
static
Pack all the non-pointer fields of the TS_DECL_WITH_VIS structure
   of expression EXPR into bitpack BP.   

References bp_pack_value(), and bp_pack_var_len_unsigned().

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_decl_wrtl_value_fields ( )
static
Pack all the non-pointer fields of the TS_DECL_WRTL structure
   of expression EXPR into bitpack BP.   

References bp_pack_value().

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_fixed_cst_value_fields ( )
static
Pack all the non-pointer fields of the TS_FIXED_CST structure of
   expression EXPR into bitpack BP.   

References bp_pack_var_len_int(), fixed_value::data, double_int::high, double_int::low, and fixed_value::mode.

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_function_decl_value_fields ( )
static
Pack all the non-pointer fields of the TS_FUNCTION_DECL structure
   of expression EXPR into bitpack BP.   

References bp_pack_value(), bp_pack_var_len_unsigned(), NOT_BUILT_IN, and streamer_handle_as_builtin_p().

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_int_cst_value_fields ( )
static
Pack all the non-pointer fields of the TS_INTEGER_CST structure of
   expression EXPR into bitpack BP.   

References bp_pack_var_len_int(), and bp_pack_var_len_unsigned().

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_optimization ( )
static
Pack a TS_OPTIMIZATION tree in EXPR to BP.   

References bp_pack_value(), and len.

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_real_cst_value_fields ( )
static
Pack all the non-pointer fields of the TS_REAL_CST structure of
   expression EXPR into bitpack BP.   

References bp_pack_value(), and HOST_BITS_PER_LONG.

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_target_option ( )
static
Pack a TS_TARGET_OPTION tree in EXPR to BP.   

References bp_pack_value(), and len.

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_translation_unit_decl_value_fields ( struct output_block ob,
struct bitpack_d bp,
tree  expr 
)
static
Pack all the non-pointer fields of the TS_TRANSLATION_UNIT_DECL structure
   of expression EXPR into bitpack BP.   

References bp_pack_string().

Referenced by streamer_pack_tree_bitfields().

static void pack_ts_type_common_value_fields ( )
static
Pack all the non-pointer fields of the TS_TYPE_COMMON structure
   of expression EXPR into bitpack BP.   

References bp_pack_value(), bp_pack_var_len_int(), bp_pack_var_len_unsigned(), and get_alias_set().

Referenced by streamer_pack_tree_bitfields().

void streamer_write_builtin ( )
Write the code and class of builtin EXPR to output block OB.  IX is
   the index into the streamer cache where EXPR is stored. 

References BUILT_IN_MD, LTO_builtin_decl, output_block::main_stream, sorry(), streamer_handle_as_builtin_p(), streamer_write_record_start(), streamer_write_string(), streamer_write_uhwi(), strlen(), and targetm.

Referenced by lto_output_tree_1().

void streamer_write_chain ( )
Emit the chain of tree nodes starting at T.  OB is the output block
   to write to.  REF_P is true if chain elements should be emitted
   as references.   

Referenced by output_function(), write_ts_block_tree_pointers(), and write_ts_type_non_common_tree_pointers().

void streamer_write_integer_cst ( )
Emit the integer constant CST to output block OB.  If REF_P is true,
   CST's type will be emitted as a reference.   

References LTO_integer_cst, streamer_write_hwi(), streamer_write_record_start(), and streamer_write_uhwi().

Referenced by lto_output_tree_1().

void streamer_write_string_cst ( struct output_block ob,
struct lto_output_stream index_stream,
tree  string 
)
@verbatim Routines for emitting trees to a file stream.

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/.

Output the STRING constant to the string
   table in OB.  Then put the index onto the INDEX_STREAM.   

References streamer_write_string_with_length().

Referenced by lto_output_toplevel_asms(), and streamer_write_tree_header().

void streamer_write_tree_header ( )
Emit header information for tree EXPR to output block OB.  The header
   contains everything needed to instantiate an empty skeleton for
   EXPR on the reading side.  IX is the index into the streamer cache
   where EXPR is stored.   

References HOST_WIDEST_INT, lto_tree_code_to_tag(), output_block::main_stream, streamer_write_hwi(), streamer_write_record_start(), streamer_write_string_cst(), streamer_write_uhwi(), and write_identifier().

Referenced by DFS_write_tree(), and lto_write_tree().

static void write_identifier ( struct output_block ob,
struct lto_output_stream index_stream,
tree  id 
)
static
Output the identifier ID to the string
   table in OB.  Then put the index onto the INDEX_STREAM.   

References streamer_write_string_with_length().

Referenced by streamer_write_tree_header().

static void write_ts_binfo_tree_pointers ( )
static
Write all pointer fields in the TS_BINFO structure of EXPR to output
   block OB.  If REF_P is true, write a reference to EXPR's pointer
   fields.   

Referenced by streamer_write_tree_body().

static void write_ts_block_tree_pointers ( )
static
Write all pointer fields in the TS_BLOCK structure of EXPR to output
   block OB.  If REF_P is true, write a reference to EXPR's pointer
   fields.   

References block_ultimate_origin(), inlined_function_outer_scope_p(), and streamer_write_chain().

Referenced by streamer_write_tree_body().

static void write_ts_common_tree_pointers ( )
static
Write all pointer fields in the TS_COMMON structure of EXPR to output
   block OB.  If REF_P is true, write a reference to EXPR's pointer
   fields.   

Referenced by streamer_write_tree_body().

static void write_ts_complex_tree_pointers ( )
static
Write all pointer fields in the TS_COMPLEX structure of EXPR to output
   block OB.  If REF_P is true, write a reference to EXPR's pointer
   fields.   

Referenced by streamer_write_tree_body().

static void write_ts_constructor_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_CONSTRUCTOR structure of EXPR to
   output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

Referenced by streamer_write_tree_body().

static void write_ts_decl_common_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_DECL_COMMON structure of EXPR to
   output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

Referenced by streamer_write_tree_body().

static void write_ts_decl_minimal_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_DECL_MINIMAL structure of EXPR
   to output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

Referenced by streamer_write_tree_body().

static void write_ts_decl_non_common_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_DECL_NON_COMMON structure of
   EXPR to output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

Referenced by streamer_write_tree_body().

static void write_ts_decl_with_vis_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_DECL_WITH_VIS structure of EXPR
   to output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

Referenced by streamer_write_tree_body().

static void write_ts_exp_tree_pointers ( )
static
Write all pointer fields in the TS_EXP structure of EXPR to output
   block OB.  If REF_P is true, write a reference to EXPR's pointer
   fields.   

Referenced by streamer_write_tree_body().

static void write_ts_field_decl_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_FIELD_DECL structure of EXPR to
   output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

Referenced by streamer_write_tree_body().

static void write_ts_function_decl_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_FUNCTION_DECL structure of EXPR
   to output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

Referenced by streamer_write_tree_body().

static void write_ts_list_tree_pointers ( )
static
Write all pointer fields in the TS_LIST structure of EXPR to output
   block OB.  If REF_P is true, write a reference to EXPR's pointer
   fields.   

Referenced by streamer_write_tree_body().

static void write_ts_type_common_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_TYPE_COMMON structure of EXPR to
   output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

Referenced by streamer_write_tree_body().

static void write_ts_type_non_common_tree_pointers ( struct output_block ob,
tree  expr,
bool  ref_p 
)
static
Write all pointer fields in the TS_TYPE_NON_COMMON structure of EXPR
   to output block OB.  If REF_P is true, write a reference to EXPR's
   pointer fields.   

References streamer_write_chain().

Referenced by streamer_write_tree_body().

static void write_ts_vec_tree_pointers ( )
static
Write all pointer fields in the TS_VEC structure of EXPR to output
   block OB.  If REF_P is true, write a reference to EXPR's pointer
   fields.   

Referenced by streamer_write_tree_body().

static void write_ts_vector_tree_pointers ( )
static
Write all pointer fields in the TS_VECTOR structure of EXPR to output
   block OB.  If REF_P is true, write a reference to EXPR's pointer
   fields.   

Referenced by streamer_write_tree_body().