GCC Middle and Back End API Reference
data-streamer-in.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "backend.h"
#include "tree.h"
#include "gimple.h"
#include "cgraph.h"
#include "data-streamer.h"
#include "value-range.h"
#include "streamer-hooks.h"
Include dependency graph for data-streamer-in.cc:

Functions

static const charstring_for_index (class data_in *data_in, unsigned int loc, unsigned int *rlen)
 
const charstreamer_read_indexed_string (class data_in *data_in, class lto_input_block *ib, unsigned int *rlen)
 
const charstreamer_read_string (class data_in *data_in, class lto_input_block *ib)
 
const charbp_unpack_indexed_string (class data_in *data_in, struct bitpack_d *bp, unsigned int *rlen)
 
const charbp_unpack_string (class data_in *data_in, struct bitpack_d *bp)
 
unsigned HOST_WIDE_INT streamer_read_uhwi (class lto_input_block *ib)
 
HOST_WIDE_INT streamer_read_hwi (class lto_input_block *ib)
 
poly_uint64 streamer_read_poly_uint64 (class lto_input_block *ib)
 
poly_int64 streamer_read_poly_int64 (class lto_input_block *ib)
 
gcov_type streamer_read_gcov_count (class lto_input_block *ib)
 
void streamer_read_real_value (class lto_input_block *ib, REAL_VALUE_TYPE *r)
 
void streamer_read_value_range (class lto_input_block *ib, data_in *data_in, Value_Range &vr)
 
wide_int streamer_read_wide_int (class lto_input_block *ib)
 
widest_int streamer_read_widest_int (class lto_input_block *ib)
 

Function Documentation

◆ bp_unpack_indexed_string()

const char * bp_unpack_indexed_string ( class data_in * data_in,
struct bitpack_d * bp,
unsigned int * rlen )
Read a string from the string table in DATA_IN using the bitpack BP.
Write the length to RLEN.   

References bp_unpack_var_len_unsigned(), ggc_alloc(), and string_for_index().

Referenced by bp_unpack_string(), and lto_input_mode_table().

◆ bp_unpack_string()

const char * bp_unpack_string ( class data_in * data_in,
struct bitpack_d * bp )
Read a NULL terminated string from the string table in DATA_IN.   

References bp_unpack_indexed_string(), ggc_alloc(), internal_error(), and NULL.

Referenced by lto_location_cache::input_location_and_block(), and unpack_ts_translation_unit_decl_value_fields().

◆ streamer_read_gcov_count()

gcov_type streamer_read_gcov_count ( class lto_input_block * ib)

◆ streamer_read_hwi()

◆ streamer_read_indexed_string()

const char * streamer_read_indexed_string ( class data_in * data_in,
class lto_input_block * ib,
unsigned int * rlen )
Read a string from the string table in DATA_IN using input block
IB.  Write the length to RLEN.   

References ggc_alloc(), streamer_read_uhwi(), and string_for_index().

Referenced by input_identifier(), streamer_read_string(), and streamer_read_string_cst().

◆ streamer_read_poly_int64()

poly_int64 streamer_read_poly_int64 ( class lto_input_block * ib)

◆ streamer_read_poly_uint64()

poly_uint64 streamer_read_poly_uint64 ( class lto_input_block * ib)
Read a poly_uint64 from IB.   

References poly_int< N, C >::coeffs, ggc_alloc(), i, NUM_POLY_INT_COEFFS, and streamer_read_uhwi().

◆ streamer_read_real_value()

void streamer_read_real_value ( class lto_input_block * ib,
REAL_VALUE_TYPE * r )
Read REAL_VALUE_TYPE from IB.   

References bp_unpack_real_value(), ggc_alloc(), r, and streamer_read_bitpack().

Referenced by streamer_read_value_range().

◆ streamer_read_string()

const char * streamer_read_string ( class data_in * data_in,
class lto_input_block * ib )
Read a NULL terminated string from the string table in DATA_IN.   

References ggc_alloc(), internal_error(), NULL, and streamer_read_indexed_string().

Referenced by ipa_odr_read_section(), and lto_read_tree_1().

◆ streamer_read_uhwi()

◆ streamer_read_value_range()

◆ streamer_read_wide_int()

wide_int streamer_read_wide_int ( class lto_input_block * ib)
Read the physical representation of a wide_int val from
input block IB.   

References a, wide_int_storage::from_array(), ggc_alloc(), i, streamer_read_hwi(), streamer_read_uhwi(), UNLIKELY, and WIDE_INT_MAX_INL_ELTS.

Referenced by ipa_odr_read_section(), and streamer_read_value_range().

◆ streamer_read_widest_int()

widest_int streamer_read_widest_int ( class lto_input_block * ib)
Read the physical representation of a widest_int val from
input block IB.   

References a, ggc_alloc(), i, streamer_read_hwi(), streamer_read_uhwi(), UNLIKELY, and WIDE_INT_MAX_INL_ELTS.

Referenced by input_cfg().

◆ string_for_index()

static const char * string_for_index ( class data_in * data_in,
unsigned int loc,
unsigned int * rlen )
static
Routines for restoring various data types from a file stream.  This deals
   with various data types like strings, integers, enums, etc.

   Copyright (C) 2011-2024 Free Software Foundation, Inc.
   Contributed by Diego Novillo <dnovillo@google.com>

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 from the string table in DATA_IN using input block
IB.  Write the length to RLEN.   

References ggc_alloc(), internal_error(), NULL, streamer_read_uhwi(), data_in::strings, and data_in::strings_len.

Referenced by bp_unpack_indexed_string(), and streamer_read_indexed_string().