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

Functions

tree streamer_read_string_cst ()
static tree input_identifier ()
tree streamer_read_chain ()
static void unpack_ts_base_value_fields ()
static void unpack_ts_int_cst_value_fields ()
static void unpack_ts_real_cst_value_fields ()
static void unpack_ts_fixed_cst_value_fields ()
static void unpack_ts_decl_common_value_fields ()
static void unpack_ts_decl_wrtl_value_fields ()
static void unpack_ts_decl_with_vis_value_fields ()
static void unpack_ts_function_decl_value_fields ()
static void unpack_ts_type_common_value_fields ()
static void unpack_ts_block_value_fields (struct data_in *data_in, struct bitpack_d *bp, tree expr)
static void unpack_ts_translation_unit_decl_value_fields (struct data_in *data_in, struct bitpack_d *bp, tree expr)
static void unpack_ts_target_option ()
static void unpack_ts_optimization ()
static void unpack_value_fields ()
struct bitpack_d streamer_read_tree_bitfields (struct lto_input_block *ib, struct data_in *data_in, tree expr)
tree streamer_alloc_tree (struct lto_input_block *ib, struct data_in *data_in, enum LTO_tags tag)
static void lto_input_ts_common_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_vector_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_complex_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_decl_minimal_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_decl_common_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_decl_non_common_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_decl_with_vis_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_field_decl_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_function_decl_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_type_common_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_type_non_common_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_list_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_vec_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_exp_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_block_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_binfo_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
static void lto_input_ts_constructor_tree_pointers (struct lto_input_block *ib, struct data_in *data_in, tree expr)
void streamer_read_tree_body (struct lto_input_block *ib, struct data_in *data_in, tree expr)
tree streamer_get_pickled_tree ()
tree streamer_get_builtin_tree ()

Function Documentation

static tree input_identifier ( )
static
Read an IDENTIFIER from the string table in DATA_IN using input
   block IB.   

References get_identifier_with_length(), len, and streamer_read_indexed_string().

Referenced by streamer_alloc_tree().

static void lto_input_ts_binfo_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_BINFO structure of EXPR from input
   block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

References vec_safe_length().

Referenced by streamer_read_tree_body().

static void lto_input_ts_block_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_BLOCK structure of EXPR from input
   block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

References streamer_read_chain().

Referenced by streamer_read_tree_body().

static void lto_input_ts_common_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_COMMON structure of EXPR from input
   block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_complex_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_COMPLEX structure of EXPR from input
   block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_constructor_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_CONSTRUCTOR structure of EXPR from
   input block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

References constructor_elt_d::index, and constructor_elt_d::value.

Referenced by streamer_read_tree_body().

static void lto_input_ts_decl_common_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_DECL_COMMON structure of EXPR from
   input block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_decl_minimal_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_DECL_MINIMAL structure of EXPR
   from input block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_decl_non_common_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_DECL_NON_COMMON structure of
   EXPR from input block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_decl_with_vis_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_DECL_WITH_VIS structure of EXPR
   from input block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_exp_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_EXP structure of EXPR from input
   block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_field_decl_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_FIELD_DECL structure of EXPR from
   input block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_function_decl_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_FUNCTION_DECL structure of EXPR
   from input block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

References lto_init_eh().

Referenced by streamer_read_tree_body().

static void lto_input_ts_list_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_LIST structure of EXPR from input
   block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_type_common_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_TYPE_COMMON structure of EXPR from
   input block IB.  DATA_IN contains tables and descriptors for the file
   being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_type_non_common_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_TYPE_NON_COMMON structure of EXPR
   from input block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

References streamer_read_chain().

Referenced by streamer_read_tree_body().

static void lto_input_ts_vec_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_VEC structure of EXPR from input
   block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

static void lto_input_ts_vector_tree_pointers ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
static
Read all pointer fields in the TS_VECTOR structure of EXPR from input
   block IB.  DATA_IN contains tables and descriptors for the
   file being read.   

Referenced by streamer_read_tree_body().

tree streamer_alloc_tree ( struct lto_input_block ib,
struct data_in data_in,
enum LTO_tags  tag 
)
Materialize a new tree from input block IB using descriptors in
   DATA_IN.  The code for the new tree should match TAG.  Store in
   *IX_P the index into the reader cache where the new tree is stored.   

References HOST_WIDE_INT, HOST_WIDEST_INT, input_identifier(), len, lto_orig_address_map(), lto_tag_to_tree_code(), streamer_read_hwi(), streamer_read_string_cst(), and streamer_read_uhwi().

Referenced by lto_input_scc(), and lto_read_tree().

tree streamer_get_builtin_tree ( )
Read a code and class from input block IB and return the
   corresponding builtin.  DATA_IN is as in stream_read_tree.   

References BUILT_IN_MD, BUILT_IN_NORMAL, builtin_decl_explicit(), END_BUILTINS, fatal_error(), data_in::reader_cache, set_builtin_user_assembler_name(), streamer_read_string(), streamer_read_uhwi(), streamer_tree_cache_append(), and targetm.

Referenced by lto_input_tree_1().

tree streamer_get_pickled_tree ( )
Read an index IX from input block IB and return the tree node at
   DATA_IN->FILE_DATA->GLOBALS_INDEX[IX].   

References HOST_WIDE_INT, LTO_NUM_TAGS, lto_tag_to_tree_code(), data_in::reader_cache, streamer_read_uhwi(), and streamer_tree_cache_get_tree().

Referenced by lto_input_tree_1().

tree streamer_read_chain ( )
Read a chain of tree nodes from input block IB. DATA_IN contains
   tables and descriptors for the file being read.   

References first.

Referenced by input_function(), lto_input_ts_block_tree_pointers(), and lto_input_ts_type_non_common_tree_pointers().

tree streamer_read_string_cst ( )
@verbatim Routines for reading trees from 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/.

Read a STRING_CST from the string table in DATA_IN using input
   block IB.   

References build_string(), len, and streamer_read_indexed_string().

Referenced by input_gimple_stmt(), lto_input_toplevel_asms(), and streamer_alloc_tree().

struct bitpack_d streamer_read_tree_bitfields ( struct lto_input_block ib,
struct data_in data_in,
tree  expr 
)
read
Read all the language-independent bitfield values for EXPR from IB.
   Return the partially unpacked bitpack so the caller can unpack any other
   bitfield values that the writer may have written.   

References bp_unpack_value(), lto_tag_check(), lto_tree_code_to_tag(), streamer_read_bitpack(), and unpack_value_fields().

Referenced by lto_read_tree_1().

static void unpack_ts_base_value_fields ( )
static
Unpack all the non-pointer fields of the TS_BASE structure of
   expression EXPR from bitpack BP.   

References bp_unpack_value().

Referenced by unpack_value_fields().

static void unpack_ts_block_value_fields ( struct data_in data_in,
struct bitpack_d bp,
tree  expr 
)
static
Unpack all the non-pointer fields of the TS_BLOCK structure
   of expression EXPR from bitpack BP.   

References bp_unpack_value().

Referenced by unpack_value_fields().

static void unpack_ts_decl_common_value_fields ( )
static
Unpack all the non-pointer fields of the TS_DECL_COMMON structure
   of expression EXPR from bitpack BP.   

References bp_unpack_value(), and bp_unpack_var_len_unsigned().

Referenced by unpack_value_fields().

static void unpack_ts_decl_with_vis_value_fields ( )
static
Unpack all the non-pointer fields of the TS_DECL_WITH_VIS structure
   of expression EXPR from bitpack BP.   

References bp_unpack_value(), and bp_unpack_var_len_unsigned().

Referenced by unpack_value_fields().

static void unpack_ts_decl_wrtl_value_fields ( )
static
Unpack all the non-pointer fields of the TS_DECL_WRTL structure
   of expression EXPR from bitpack BP.   

References bp_unpack_value().

Referenced by unpack_value_fields().

static void unpack_ts_fixed_cst_value_fields ( )
static
Unpack all the non-pointer fields of the TS_FIXED_CST structure of
   expression EXPR from bitpack BP.   

References bp_unpack_var_len_int(), and FIXED_VALUE_TYPE.

Referenced by unpack_value_fields().

static void unpack_ts_function_decl_value_fields ( )
static
Unpack all the non-pointer fields of the TS_FUNCTION_DECL structure
   of expression EXPR from bitpack BP.   

References bp_unpack_value(), bp_unpack_var_len_unsigned(), BUILT_IN_MD, BUILT_IN_NORMAL, END_BUILTINS, fatal_error(), NOT_BUILT_IN, and targetm.

Referenced by unpack_value_fields().

static void unpack_ts_int_cst_value_fields ( )
static
Unpack all the non-pointer fields of the TS_INT_CST structure of
   expression EXPR from bitpack BP.   

References bp_unpack_var_len_int(), and bp_unpack_var_len_unsigned().

Referenced by unpack_value_fields().

static void unpack_ts_optimization ( )
static
Unpack a TS_OPTIMIZATION tree from BP into EXPR.   

References bp_unpack_value(), fatal_error(), and len.

Referenced by unpack_value_fields().

static void unpack_ts_real_cst_value_fields ( )
static
Unpack all the non-pointer fields of the TS_REAL_CST structure of
   expression EXPR from bitpack BP.   

References bp_unpack_value(), HOST_BITS_PER_LONG, and memcpy().

Referenced by unpack_value_fields().

static void unpack_ts_target_option ( )
static
Unpack a TS_TARGET_OPTION tree from BP into EXPR.   

References bp_unpack_value(), fatal_error(), and len.

Referenced by unpack_value_fields().

static void unpack_ts_translation_unit_decl_value_fields ( struct data_in data_in,
struct bitpack_d bp,
tree  expr 
)
static
Unpack all the non-pointer fields of the TS_TRANSLATION_UNIT_DECL
   structure of expression EXPR from bitpack BP.   

References all_translation_units, bp_unpack_string(), and vec_safe_push().

Referenced by unpack_value_fields().

static void unpack_ts_type_common_value_fields ( )
static
Unpack all the non-pointer fields of the TS_TYPE_COMMON structure
   of expression EXPR from bitpack BP.   

References bp_unpack_value(), bp_unpack_var_len_int(), and bp_unpack_var_len_unsigned().

Referenced by unpack_value_fields().