23#ifndef GCC_LTO_STREAMER_H
24#define GCC_LTO_STREAMER_H
26#include "plugin-api.h"
124#define LTO_major_version GCC_major_version
125#define LTO_minor_version 0
305 static int cmp_loc (
const void *
pa,
const void *
pb);
517 return a->fn_decl ==
b->fn_decl;
680 for (
i = 0;
i < ds->
len;
i++)
681 r =
r * 67 + (
unsigned)ds->
s[
i] - 113;
782 const char *,
int,
size_t *,
789 const char *,
int,
size_t *);
792 const char *,
const char *,
size_t,
796 const char *,
const char *,
size_t);
799 const char *,
const char *);
861 const char *,
unsigned,
871 unsigned *,
unsigned *,
bool);
1033 internal_error (
"bytecode stream: expected tag %s instead of %s",
1043 internal_error (
"bytecode stream: tag %s is not in the expected range "
1055 encoder->
trees.create (0);
1067 encoder->
trees.release ();
1074 return encoder->
trees.length ();
1082 return encoder->
trees[idx];
1089 return encoder->
nodes.length ();
1093#define LCC_NOT_FOUND (-1)
1124 return lsei.encoder->nodes[
lsei.index].node;
1149 return encoder->
nodes[ref].node;
1158 lsei.encoder = encoder;
Definition lto-streamer.h:746
vec< ld_plugin_symbol_resolution_t > globals_resolution
Definition lto-streamer.h:758
lto_location_cache location_cache
Definition lto-streamer.h:764
struct streamer_tree_cache_d * reader_cache
Definition lto-streamer.h:761
unsigned int strings_len
Definition lto-streamer.h:755
struct lto_file_decl_data * file_data
Definition lto-streamer.h:749
const char * strings
Definition lto-streamer.h:752
Definition genoutput.cc:147
Value * get(const Key &k)
Definition hash-map.h:189
Definition hash-table.h:375
Definition lto-streamer.h:270
void revert_location_cache()
Definition lto-streamer-in.cc:503
static int cmp_loc(const void *pa, const void *pb)
Definition lto-streamer-in.cc:386
lto_location_cache()
Definition lto-streamer.h:284
auto_vec< cached_location > loc_cache
Definition lto-streamer.h:319
void accept_location_cache()
Definition lto-streamer-in.cc:494
int accepted_length
Definition lto-streamer.h:324
void input_location_and_block(location_t *loc, struct bitpack_d *bp, class lto_input_block *ib, class data_in *data_in)
Definition lto-streamer-in.cc:514
~lto_location_cache()
Definition lto-streamer.h:292
tree current_block
Definition lto-streamer.h:336
const char * current_file
Definition lto-streamer.h:331
unsigned current_discr
Definition lto-streamer.h:337
int current_col
Definition lto-streamer.h:333
int current_line
Definition lto-streamer.h:332
bool apply_location_cache()
Definition lto-streamer-in.cc:430
location_t current_loc
Definition lto-streamer.h:335
static lto_location_cache * current_cache
Definition lto-streamer.h:302
bool current_sysp
Definition lto-streamer.h:334
Definition lra-spills.cc:101
#define GTY(x)
Definition coretypes.h:41
union tree_node * tree
Definition coretypes.h:97
void internal_error(const char *,...) ATTRIBUTE_GCC_DIAG(1
void ATTRIBUTE_NORETURN
Definition diagnostic-core.h:72
tree_code
Definition genmatch.cc:347
@ MAX_TREE_CODES
Definition genmatch.cc:349
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
gimple_code
Definition gimple.h:30
@ LAST_AND_UNUSED_GIMPLE_CODE
Definition gimple.h:34
void lto_section_overrun(class lto_input_block *) ATTRIBUTE_NORETURN
Definition lto-section-in.cc:458
void lto_input_variable_constructor(struct lto_file_decl_data *, struct varpool_node *, const char *)
Definition lto-streamer-in.cc:1700
void lto_output_init_mode_table(void)
Definition lto-streamer-out.cc:3188
struct lto_out_decl_state * lto_get_out_decl_state(void)
Definition lto-section-out.cc:232
void lto_free_function_in_decl_state(struct lto_in_decl_state *)
Definition lto-section-in.cc:423
tree lto_input_tree(class lto_input_block *, class data_in *)
Definition lto-streamer-in.cc:1924
void lto_free_file_name_hash(void)
Definition lto-streamer-in.cc:2153
void lto_record_function_out_decl_state(tree, struct lto_out_decl_state *)
Definition lto-section-out.cc:258
void lsei_next(lto_symtab_encoder_iterator *lsei)
Definition lto-streamer.h:1115
void cl_optimization_stream_out(struct output_block *, struct bitpack_d *, struct cl_optimization *)
struct lto_symtab_encoder_d * lto_symtab_encoder_t
Definition lto-streamer.h:470
struct lto_out_decl_state * lto_out_decl_state_ptr
Definition lto-streamer.h:540
lto_symtab_encoder_iterator lsei_start_in_partition(lto_symtab_encoder_t encoder)
Definition lto-streamer.h:1175
struct lto_in_decl_state * lto_get_function_in_decl_state(struct lto_file_decl_data *, tree)
Definition lto-section-in.cc:409
vec< lto_out_decl_state_ptr > lto_function_decl_states
Definition lto-section-out.cc:40
class data_in * lto_data_in_create(struct lto_file_decl_data *, const char *, unsigned, vec< ld_plugin_symbol_resolution_t >)
Definition lto-streamer-in.cc:2173
lto_symtab_encoder_t compute_ltrans_boundary(lto_symtab_encoder_t encoder)
Definition lto-cgraph.cc:840
void lto_input_cgraph(struct lto_file_decl_data *, const char *)
void lto_write_raw_data(const void *, unsigned int)
Definition lto-section-out.cc:112
char * lto_get_section_name(int, const char *, int, struct lto_file_decl_data *)
Definition lto-streamer.cc:103
htab_t lto_create_renaming_table(void)
Definition lto-section-in.cc:332
const char * lto_get_summary_section_data(struct lto_file_decl_data *, enum lto_section_type, size_t *)
Definition lto-section-in.cc:184
void print_lto_report(const char *)
Definition lto-streamer.cc:152
void lto_free_function_in_decl_state_for_node(symtab_node *)
Definition lto-section-in.cc:435
enum tree_code lto_tag_to_tree_code(enum LTO_tags tag)
Definition lto-streamer.h:1022
lto_symtab_encoder_iterator lsei_start_variable_in_partition(lto_symtab_encoder_t encoder)
Definition lto-streamer.h:1226
void lto_output_tree(struct output_block *, tree, bool, bool)
Definition lto-streamer-out.cc:1797
void lto_destroy_simple_output_block(struct lto_simple_output_block *)
Definition lto-section-out.cc:171
tree lto_input_tree_1(class lto_input_block *, class data_in *, enum LTO_tags, hashval_t hash)
Definition lto-streamer-in.cc:1870
bool referenced_from_this_partition_p(symtab_node *, lto_symtab_encoder_t)
Definition lto-cgraph.cc:351
void stream_write_tree_ref(struct output_block *, tree)
Definition lto-streamer-out.cc:467
struct lto_file_decl_data * lto_file_decl_data_ptr
Definition lto-streamer.h:611
const char * lto_get_decl_name_mapping(struct lto_file_decl_data *, const char *)
Definition lto-section-in.cc:366
void cl_optimization_stream_in(class data_in *, struct bitpack_d *, struct cl_optimization *)
void lsei_next_function_in_partition(lto_symtab_encoder_iterator *lsei)
Definition lto-streamer.h:1189
bool lto_symtab_encoder_encode_body_p(lto_symtab_encoder_t, struct cgraph_node *)
Definition lto-cgraph.cc:173
void lto_free_section_data_f(struct lto_file_decl_data *, enum lto_section_type, const char *, const char *, size_t)
Definition lto-streamer.h:259
void lto_tag_check(enum LTO_tags actual, enum LTO_tags expected)
Definition lto-streamer.h:1030
struct lto_in_decl_state * lto_in_decl_state_ptr
Definition lto-streamer.h:504
tree lto_tree_ref_encoder_get_tree(struct lto_tree_ref_encoder *encoder, unsigned int idx)
Definition lto-streamer.h:1079
struct lto_out_decl_state * lto_new_out_decl_state(void)
Definition lto-section-out.cc:200
lto_symtab_encoder_iterator lsei_start_function_in_partition(lto_symtab_encoder_t encoder)
Definition lto-streamer.h:1200
enum gimple_code lto_tag_to_gimple_code(enum LTO_tags tag)
Definition lto-streamer.h:1003
LTO_tags
Definition lto-streamer.h:138
@ LTO_ert_allowed_exceptions
Definition lto-streamer.h:187
@ LTO_tree_scc
Definition lto-streamer.h:156
@ LTO_ert_try
Definition lto-streamer.h:186
@ LTO_bb1
Definition lto-streamer.h:173
@ LTO_eh_catch
Definition lto-streamer.h:194
@ LTO_NUM_TAGS
Definition lto-streamer.h:197
@ LTO_global_stream_ref
Definition lto-streamer.h:151
@ LTO_ert_must_not_throw
Definition lto-streamer.h:188
@ LTO_tree_pickle_reference
Definition lto-streamer.h:142
@ LTO_null
Definition lto-streamer.h:139
@ LTO_bb0
Definition lto-streamer.h:172
@ LTO_eh_region
Definition lto-streamer.h:176
@ LTO_ssa_name_ref
Definition lto-streamer.h:153
@ LTO_trees
Definition lto-streamer.h:159
@ LTO_first_tree_tag
Definition lto-streamer.h:166
@ LTO_function
Definition lto-streamer.h:179
@ LTO_first_gimple_tag
Definition lto-streamer.h:169
@ LTO_eh_landing_pad
Definition lto-streamer.h:191
@ LTO_integer_cst
Definition lto-streamer.h:162
@ LTO_eh_table
Definition lto-streamer.h:182
@ LTO_ert_cleanup
Definition lto-streamer.h:185
void lto_output_location_and_block(struct output_block *, struct bitpack_d *, location_t)
Definition lto-streamer-out.cc:284
void lto_output_toplevel_asms(void)
Definition lto-streamer-out.cc:2531
int lto_symtab_encoder_lookup(lto_symtab_encoder_t encoder, symtab_node *node)
Definition lto-streamer.h:1099
enum ld_plugin_symbol_resolution ld_plugin_symbol_resolution_t
Definition lto-streamer.h:242
bool lsei_end_p(lto_symtab_encoder_iterator lsei)
Definition lto-streamer.h:1108
void lto_begin_section(const char *, bool)
Definition lto-section-out.cc:66
void lto_input_data_block(class lto_input_block *, void *, size_t)
Definition lto-streamer-in.cc:132
bool referenced_from_other_partition_p(struct ipa_ref_list *, lto_symtab_encoder_t)
void lto_write_data(const void *, unsigned int)
Definition lto-section-out.cc:101
void output_symtab(void)
Definition lto-cgraph.cc:971
void lto_streamer_hooks_init(void)
Definition lto-streamer.cc:272
static const bool streamer_debugging
Definition lto-streamer.h:131
struct output_block * create_output_block(enum lto_section_type)
Definition lto-streamer-out.cc:78
void lto_delete_in_decl_state(struct lto_in_decl_state *)
Definition lto-section-in.cc:396
void cl_target_option_stream_out(struct output_block *, struct bitpack_d *, struct cl_target_option *)
void lto_input_mode_table(struct lto_file_decl_data *)
Definition lto-streamer-in.cc:1995
void lsei_next_in_partition(lto_symtab_encoder_iterator *lsei)
Definition lto-streamer.h:1165
lto_decl_stream_e_t
Definition lto-streamer.h:237
@ LTO_N_DECL_STREAMS
Definition lto-streamer.h:239
@ LTO_DECL_STREAM
Definition lto-streamer.h:238
lto_section_type
Definition lto-streamer.h:208
@ LTO_section_offload_table
Definition lto-streamer.h:226
@ LTO_section_symtab
Definition lto-streamer.h:212
@ LTO_section_decls
Definition lto-streamer.h:209
@ LTO_section_cgraph_opt_sum
Definition lto-streamer.h:222
@ LTO_section_jump_functions
Definition lto-streamer.h:216
@ LTO_section_ipa_modref
Definition lto-streamer.h:231
@ LTO_section_ipa_fn_summary
Definition lto-streamer.h:223
@ LTO_section_ipcp_transform
Definition lto-streamer.h:224
@ LTO_section_ipa_pure_const
Definition lto-streamer.h:217
@ LTO_section_lto
Definition lto-streamer.h:228
@ LTO_section_symtab_extension
Definition lto-streamer.h:213
@ LTO_section_symtab_nodes
Definition lto-streamer.h:220
@ LTO_section_ipa_sra
Definition lto-streamer.h:229
@ LTO_section_ipa_profile
Definition lto-streamer.h:219
@ LTO_section_static_initializer
Definition lto-streamer.h:211
@ LTO_section_odr_types
Definition lto-streamer.h:230
@ LTO_section_refs
Definition lto-streamer.h:214
@ LTO_section_opts
Definition lto-streamer.h:221
@ LTO_section_mode_table
Definition lto-streamer.h:227
@ LTO_section_asm
Definition lto-streamer.h:215
@ LTO_section_ipa_reference
Definition lto-streamer.h:218
@ LTO_N_SECTION_TYPES
Definition lto-streamer.h:232
@ LTO_section_function_body
Definition lto-streamer.h:210
@ LTO_section_ipa_icf
Definition lto-streamer.h:225
symtab_node * lsei_node(lto_symtab_encoder_iterator lsei)
Definition lto-streamer.h:1122
lto_symtab_encoder_iterator lsei_start(lto_symtab_encoder_t encoder)
Definition lto-streamer.h:1154
void lto_value_range_error(const char *, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT) ATTRIBUTE_NORETURN
Definition lto-section-in.cc:467
const char * lto_get_section_data(struct lto_file_decl_data *, enum lto_section_type, const char *, int, size_t *, bool decompress=false)
Definition lto-section-in.cc:134
int lto_symtab_encoder_size(lto_symtab_encoder_t encoder)
Definition lto-streamer.h:1087
void lto_input_constructors_and_inits(struct lto_file_decl_data *, const char *)
tree lto_input_var_decl_ref(lto_input_block *, lto_file_decl_data *)
Definition lto-streamer-in.cc:669
void lto_destroy_simple_input_block(struct lto_file_decl_data *, enum lto_section_type, class lto_input_block *, const char *, size_t)
Definition lto-section-in.cc:276
void lto_init_tree_ref_encoder(struct lto_tree_ref_encoder *encoder)
Definition lto-streamer.h:1052
tree lto_input_fn_decl_ref(lto_input_block *, lto_file_decl_data *)
Definition lto-streamer-in.cc:681
void lto_output_decl_state_streams(struct output_block *, struct lto_out_decl_state *)
Definition lto-streamer-out.cc:2915
void lto_check_version(int, int, const char *)
Definition lto-streamer.cc:257
void produce_asm(struct output_block *ob, tree fn)
Definition lto-streamer-out.cc:2215
void lto_output_fn_decl_ref(struct lto_out_decl_state *, struct lto_output_stream *, tree)
Definition lto-streamer-out.cc:359
struct lto_file_decl_data ** lto_get_file_decl_data(void)
Definition lto-section-in.cc:89
void lto_delete_out_decl_state(struct lto_out_decl_state *)
Definition lto-section-out.cc:218
void lto_data_in_delete(class data_in *)
Definition lto-streamer-in.cc:2190
void lto_symtab_encoder_delete(lto_symtab_encoder_t)
Definition lto-cgraph.cc:94
bool lto_tag_is_gimple_code_p(enum LTO_tags tag)
Definition lto-streamer.h:983
void lto_output_var_decl_ref(struct lto_out_decl_state *, struct lto_output_stream *, tree)
Definition lto-streamer-out.cc:346
int lto_symtab_encoder_encode(lto_symtab_encoder_t, symtab_node *)
Definition lto-cgraph.cc:108
void destroy_output_block(struct output_block *)
Definition lto-streamer-out.cc:110
FILE * streamer_dump_file
Definition lto-streamer.cc:42
bool lto_tag_is_tree_code_p(enum LTO_tags tag)
Definition lto-streamer.h:975
lto_symtab_encoder_t lto_symtab_encoder_new(bool)
Definition lto-cgraph.cc:80
struct lto_simple_output_block * lto_create_simple_output_block(enum lto_section_type)
Definition lto-section-out.cc:153
void lto_reader_init(void)
Definition lto-streamer-in.cc:2140
void lto_tag_check_range(enum LTO_tags actual, enum LTO_tags tag1, enum LTO_tags tag2)
Definition lto-streamer.h:1039
enum LTO_tags lto_tree_code_to_tag(enum tree_code code)
Definition lto-streamer.h:1013
void input_symtab(void)
Definition lto-cgraph.cc:1758
struct lto_stats_d lto_stats
Definition lto-streamer.cc:36
void select_what_to_stream(void)
Definition lto-cgraph.cc:824
unsigned int lto_tree_ref_encoder_size(struct lto_tree_ref_encoder *encoder)
Definition lto-streamer.h:1072
void lsei_next_variable_in_partition(lto_symtab_encoder_iterator *lsei)
Definition lto-streamer.h:1215
void produce_asm_for_decls()
Definition lto-streamer-out.cc:3284
void lto_free_raw_section_data(struct lto_file_decl_data *, enum lto_section_type, const char *, const char *, size_t)
Definition lto-section-in.cc:234
void omp_lto_input_declare_variant_alt(lto_input_block *, cgraph_node *, vec< symtab_node * >)
Definition omp-general.cc:2810
enum LTO_tags lto_gimple_code_to_tag(enum gimple_code code)
Definition lto-streamer.h:994
void output_offload_tables(void)
Definition lto-cgraph.cc:1080
void lto_input_toplevel_asms(struct lto_file_decl_data *, int)
Definition lto-streamer-in.cc:1956
bool asm_nodes_output
Definition lto-cgraph.cc:49
tree lto_input_tree_ref(class lto_input_block *, class data_in *, struct function *, enum LTO_tags)
Definition lto-streamer-in.cc:642
void lto_output()
Definition lto-streamer-out.cc:2735
void lto_append_block(struct lto_output_stream *)
Definition data-streamer-out.cc:38
void omp_lto_output_declare_variant_alt(lto_simple_output_block *, cgraph_node *, lto_symtab_encoder_t)
Definition omp-general.cc:2748
void lto_write_options(void)
Definition lto-opts.cc:60
tree stream_read_tree_ref(class lto_input_block *, class data_in *)
Definition lto-streamer-in.cc:1844
void lto_set_symtab_encoder_in_partition(lto_symtab_encoder_t, symtab_node *)
Definition lto-cgraph.cc:228
void lto_push_out_decl_state(struct lto_out_decl_state *)
Definition lto-section-out.cc:240
lto_compression
Definition lto-streamer.h:362
@ ZSTD
Definition lto-streamer.h:364
@ ZLIB
Definition lto-streamer.h:363
void cl_target_option_stream_in(class data_in *, struct bitpack_d *, struct cl_target_option *)
void lto_input_function_body(struct lto_file_decl_data *, struct cgraph_node *, const char *)
Definition lto-streamer-in.cc:1690
class lto_input_block * lto_create_simple_input_block(struct lto_file_decl_data *, enum lto_section_type, const char **, size_t *)
Definition lto-section-in.cc:249
void lto_input_location(location_t *, struct bitpack_d *, class data_in *)
Definition lto-streamer-in.cc:628
symtab_node * lto_symtab_encoder_deref(lto_symtab_encoder_t encoder, int ref)
Definition lto-streamer.h:1144
varpool_node * lsei_varpool_node(lto_symtab_encoder_iterator lsei)
Definition lto-streamer.h:1136
bool lto_stream_offload_p
Definition lto-streamer.cc:40
void lto_write_stream(struct lto_output_stream *)
Definition lto-section-out.cc:121
struct lto_out_decl_state * lto_pop_out_decl_state(void)
Definition lto-section-out.cc:248
bool lto_symtab_encoder_delete_node(lto_symtab_encoder_t, symtab_node *)
Definition lto-cgraph.cc:140
#define LCC_NOT_FOUND
Definition lto-streamer.h:1093
void lto_destroy_tree_ref_encoder(struct lto_tree_ref_encoder *encoder)
Definition lto-streamer.h:1062
void lto_register_decl_definition(tree, struct lto_file_decl_data *)
const char * lto_tag_name(enum LTO_tags)
Definition lto-streamer.cc:47
struct cgraph_node * lsei_cgraph_node(lto_symtab_encoder_iterator lsei)
Definition lto-streamer.h:1129
void lto_streamer_init(void)
Definition lto-streamer.cc:233
void input_offload_tables(bool)
Definition lto-cgraph.cc:1830
void lto_init_eh(void)
Definition lto-streamer-in.cc:897
void lto_output_location(struct output_block *, struct bitpack_d *, location_t)
Definition lto-streamer-out.cc:272
void lto_prepare_function_for_streaming(cgraph_node *)
Definition lto-streamer-out.cc:2330
bool gate_lto_out(void)
Definition lto-streamer.cc:247
bool reachable_from_other_partition_p(struct cgraph_node *, lto_symtab_encoder_t)
Definition lto-cgraph.cc:327
void lto_record_renamed_decl(struct lto_file_decl_data *, const char *, const char *)
Definition lto-section-in.cc:341
bool reachable_from_this_partition_p(struct cgraph_node *, lto_symtab_encoder_t)
Definition lto-cgraph.cc:366
unsigned char lto_decl_flags_t
Definition lto-streamer.h:127
struct lto_in_decl_state * lto_new_in_decl_state(void)
Definition lto-section-in.cc:388
void lto_end_section(void)
Definition lto-section-out.cc:88
vec< dref_entry > dref_queue
Definition lto-streamer-in.cc:1709
bool lto_symtab_encoder_in_partition_p(lto_symtab_encoder_t, symtab_node *)
Definition lto-cgraph.cc:216
void lto_tag_check_set(enum LTO_tags, int,...)
Definition lto-streamer-in.cc:111
void lto_set_in_hooks(struct lto_file_decl_data **, lto_get_section_data_f *, lto_free_section_data_f *)
Definition lto-section-in.cc:75
hashval_t lto_input_scc(class lto_input_block *, class data_in *, unsigned *, unsigned *, bool)
Definition lto-streamer-in.cc:1783
const char * lto_get_section_data_f(struct lto_file_decl_data *, enum lto_section_type, const char *, int, size_t *)
Definition lto-streamer.h:250
const char * lto_section_name[]
Definition lto-section-in.cc:35
const char * lto_get_raw_section_data(struct lto_file_decl_data *, enum lto_section_type, const char *, int, size_t *)
Definition lto-section-in.cc:193
bool lto_symtab_encoder_encode_initializer_p(lto_symtab_encoder_t, varpool_node *)
Definition lto-cgraph.cc:194
void lto_free_section_data(struct lto_file_decl_data *, enum lto_section_type, const char *, const char *, size_t, bool decompress=false)
Definition lto-section-in.cc:206
void lto_output_decl_state_refs(struct output_block *, struct lto_output_stream *, struct lto_out_decl_state *)
poly_int< N, C > r
Definition poly-int.h:770
i
Definition poly-int.h:772
Ca const poly_int< N, Cb > & b
Definition poly-int.h:767
Ca & a
Definition poly-int.h:766
Definition data-streamer.h:35
Definition lto-streamer.h:507
static bool equal(lto_in_decl_state *a, lto_in_decl_state *b)
Definition lto-streamer.h:515
static hashval_t hash(lto_in_decl_state *s)
Definition lto-streamer.h:509
Definition lto-streamer.h:1240
tree decl
Definition lto-streamer.h:1241
unsigned HOST_WIDE_INT off
Definition lto-streamer.h:1243
const char * sym
Definition lto-streamer.h:1242
Definition function.h:249
Definition hash-traits.h:321
Definition lto-streamer.h:614
char * ptr
Definition lto-streamer.h:615
Definition lto-streamer.h:449
unsigned int body
Definition lto-streamer.h:455
unsigned int in_partition
Definition lto-streamer.h:453
unsigned int initializer
Definition lto-streamer.h:459
symtab_node * node
Definition lto-streamer.h:450
Definition lto-streamer.h:557
htab_t section_hash_table
Definition lto-streamer.h:575
unsigned mode_bits
Definition lto-streamer.h:608
unsigned max_index
Definition lto-streamer.h:591
vec< res_pair > respairs
Definition lto-streamer.h:590
struct lto_file_decl_data * next
Definition lto-streamer.h:581
struct lto_in_decl_state * global_decl_state
Definition lto-streamer.h:563
gcov_summary profile_info
Definition lto-streamer.h:593
int order
Definition lto-streamer.h:584
htab_t renaming_hash_table
Definition lto-streamer.h:578
unsigned HOST_WIDE_INT id
Definition lto-streamer.h:587
const char * file_name
Definition lto-streamer.h:572
lto_section lto_section_header
Definition lto-streamer.h:602
int order_base
Definition lto-streamer.h:604
const unsigned char * mode_table
Definition lto-streamer.h:599
hash_map< tree, ld_plugin_symbol_resolution > * resolution_map
Definition lto-streamer.h:596
int unit_base
Definition lto-streamer.h:606
struct lto_in_decl_state * current_decl_state
Definition lto-streamer.h:559
hash_table< decl_state_hasher > * function_decl_states
Definition lto-streamer.h:569
lto_symtab_encoder_t symtab_node_encoder
Definition lto-streamer.h:566
Definition lto-streamer.h:492
bool compressed
Definition lto-streamer.h:501
tree fn_decl
Definition lto-streamer.h:498
vec< tree, va_gc > * streams[LTO_N_DECL_STREAMS]
Definition lto-streamer.h:494
Definition lto-streamer.h:308
tree block
Definition lto-streamer.h:313
const char * file
Definition lto-streamer.h:309
unsigned discr
Definition lto-streamer.h:314
int line
Definition lto-streamer.h:311
location_t * loc
Definition lto-streamer.h:310
int col
Definition lto-streamer.h:311
bool sysp
Definition lto-streamer.h:312
Definition lto-streamer.h:524
lto_symtab_encoder_t symtab_node_encoder
Definition lto-streamer.h:530
bool compressed
Definition lto-streamer.h:537
tree fn_decl
Definition lto-streamer.h:534
struct lto_tree_ref_encoder streams[LTO_N_DECL_STREAMS]
Definition lto-streamer.h:527
Definition lto-streamer.h:623
struct lto_char_ptr_base * current_block
Definition lto-streamer.h:628
unsigned int total_size
Definition lto-streamer.h:640
unsigned int block_size
Definition lto-streamer.h:637
unsigned int left_in_block
Definition lto-streamer.h:634
char * current_pointer
Definition lto-streamer.h:631
struct lto_char_ptr_base * first_block
Definition lto-streamer.h:625
Definition lto-streamer.h:371
uint16_t flags
Definition lto-streamer.h:378
unsigned char _padding
Definition lto-streamer.h:375
int16_t minor_version
Definition lto-streamer.h:373
unsigned char slim_object
Definition lto-streamer.h:374
int16_t major_version
Definition lto-streamer.h:372
lto_compression get_compression()
Definition lto-streamer.h:387
void set_compression(lto_compression c)
Definition lto-streamer.h:381
Definition lto-streamer.h:646
struct lto_output_stream * main_stream
Definition lto-streamer.h:651
enum lto_section_type section_type
Definition lto-streamer.h:647
struct lto_out_decl_state * decl_state
Definition lto-streamer.h:648
Definition lto-streamer.h:430
unsigned HOST_WIDE_INT num_pickle_refs_output
Definition lto-streamer.h:444
unsigned HOST_WIDE_INT num_input_cgraph_nodes
Definition lto-streamer.h:431
unsigned HOST_WIDE_INT num_output_il_bytes
Definition lto-streamer.h:439
unsigned HOST_WIDE_INT num_input_files
Definition lto-streamer.h:433
unsigned HOST_WIDE_INT num_compressed_il_bytes
Definition lto-streamer.h:440
unsigned HOST_WIDE_INT num_output_files
Definition lto-streamer.h:434
unsigned HOST_WIDE_INT num_trees[NUM_TREE_CODES]
Definition lto-streamer.h:438
unsigned HOST_WIDE_INT num_function_bodies
Definition lto-streamer.h:437
unsigned HOST_WIDE_INT num_input_il_bytes
Definition lto-streamer.h:441
unsigned HOST_WIDE_INT section_size[LTO_N_SECTION_TYPES]
Definition lto-streamer.h:436
unsigned HOST_WIDE_INT num_uncompressed_il_bytes
Definition lto-streamer.h:442
unsigned HOST_WIDE_INT num_cgraph_partitions
Definition lto-streamer.h:435
unsigned HOST_WIDE_INT num_output_symtab_nodes
Definition lto-streamer.h:432
unsigned HOST_WIDE_INT num_tree_bodies_output
Definition lto-streamer.h:443
Definition lto-streamer.h:465
vec< lto_encoder_entry > nodes
Definition lto-streamer.h:466
hash_map< symtab_node *, size_t > * map
Definition lto-streamer.h:467
Definition lto-streamer.h:474
lto_symtab_encoder_t encoder
Definition lto-streamer.h:475
unsigned index
Definition lto-streamer.h:476
Definition lto-streamer.h:484
hash_map< tree, unsigned > * tree_hash_table
Definition lto-streamer.h:485
vec< tree > trees
Definition lto-streamer.h:486
Definition hash-traits.h:303
Definition lto-streamer.h:699
unsigned current_discr
Definition lto-streamer.h:730
struct obstack obstack
Definition lto-streamer.h:740
int current_line
Definition lto-streamer.h:724
struct lto_output_stream * cfg_stream
Definition lto-streamer.h:710
struct lto_output_stream * string_stream
Definition lto-streamer.h:707
enum lto_section_type section_type
Definition lto-streamer.h:700
hash_set< tree > * local_trees
Definition lto-streamer.h:736
bool current_sysp
Definition lto-streamer.h:726
int current_col
Definition lto-streamer.h:725
tree current_block
Definition lto-streamer.h:729
struct lto_out_decl_state * decl_state
Definition lto-streamer.h:701
bool emit_pwd
Definition lto-streamer.h:728
hash_table< string_slot_hasher > * string_hash_table
Definition lto-streamer.h:714
symtab_node * symbol
Definition lto-streamer.h:718
const char * current_file
Definition lto-streamer.h:723
bool reset_locus
Definition lto-streamer.h:727
struct streamer_tree_cache_d * writer_cache
Definition lto-streamer.h:733
struct lto_output_stream * main_stream
Definition lto-streamer.h:704
Definition lto-streamer.h:546
ld_plugin_symbol_resolution_t res
Definition lto-streamer.h:547
unsigned index
Definition lto-streamer.h:548
Definition tree-streamer.h:47
Definition lto-streamer.h:666
static bool equal(const string_slot *, const string_slot *)
Definition lto-streamer.h:688
static hashval_t hash(const string_slot *)
Definition lto-streamer.h:675
Definition lto-streamer.h:657
int len
Definition lto-streamer.h:659
unsigned int slot_num
Definition lto-streamer.h:660
const char * s
Definition lto-streamer.h:658
#define NULL
Definition system.h:50
#define gcc_assert(EXPR)
Definition system.h:821
#define false
Definition system.h:895
#define STATIC_ASSERT(X)
Definition system.h:871
#define NUM_TREE_CODES
Definition tree-core.h:156
#define NULL_TREE
Definition tree.h:317