26#include "plugin-api.h"
110struct GTY ((desc (
"%h.type"), tag (
"TOPLEVEL_BASE"),
111 chain_next(
"%h.next"),
134struct GTY ((tag (
"SYMTAB_SYMBOL")))
162 const char *name ()
const;
165 const char *dump_name ()
const;
168 const char *asm_name ()
const;
171 const char *dump_asm_name ()
const;
174 const char *get_visibility_string ()
const;
177 const char *get_symtab_type_string ()
const;
181 void register_symbol (
void);
187 void reset (
bool preserve_comdat_group =
false);
193 void dump_graphviz (FILE *f);
233 unsigned int lto_stmt_uid,
237 void remove_stmt_references (
gimple *stmt);
243 void clear_stmts_in_references (
void);
246 void remove_all_references (
void);
249 void remove_all_referring (
void);
252 void dump_references (FILE *file);
260 return ref_list.references.length ();
274 bool semantically_equivalent_p (
symtab_node *target);
286 tree get_comdat_group_id ()
288 if (x_comdat_group &&
TREE_CODE (x_comdat_group) != IDENTIFIER_NODE)
290 return x_comdat_group;
298 x_comdat_group = group;
306 return x_section->
name;
310 void remove_from_same_comdat_group (
void);
313 void add_to_same_comdat_group (symtab_node *old_node);
316 void dissolve_same_comdat_group_list (
void);
320 bool used_from_object_file_p (
void);
328 struct symtab_node *ref =
NULL);
331 inline symtab_node *next_defined_symbol (
void);
337 bool resolve_alias (symtab_node *target,
bool transparent =
false);
341 void fixup_same_cpp_alias_visibility (symtab_node *target);
346 bool call_for_symbol_and_aliases (
bool (*callback) (symtab_node *,
void *),
348 bool include_overwrite);
353 symtab_node *noninterposable_alias (
void);
356 inline symtab_node *get_alias_target (
void);
359 inline tree get_alias_target_tree ();
362 void set_section (
const char *
section);
365 void set_section (
const symtab_node &other);
370 void set_section_for_node (
const char *
section);
374 void set_section_for_node (
const symtab_node &other);
387 bool prevailing_p (
void);
392 bool binds_to_current_def_p (symtab_node *ref =
NULL);
395 void make_decl_local (
void);
398 void copy_visibility_from (symtab_node *n);
404 unsigned int definition_alignment ();
407 bool can_increase_alignment_p ();
413 bool has_aliases_p (
void);
417 bool real_symbol_p (
void);
420 bool output_to_lto_symbol_table_p (
void);
425 bool needed_p (
void);
429 bool native_rtl_p ()
const;
432 bool referred_to_p (
bool include_self =
true);
449 &&
resolution != LDPR_PREVAILING_DEF_IRONLY_EXP)
450 || flag_incremental_link)
451 &&
resolution != LDPR_PREVAILING_DEF_IRONLY));
463 inline bool in_same_comdat_group_p (
symtab_node *target);
467 bool nonzero_address (
bool delete_null_pointer_checks);
470 bool nonzero_address ();
480 int equal_address_to (
symtab_node *s2,
bool memory_accessed =
false);
484 bool address_matters_p ();
489 bool address_can_be_compared_p (
void);
505 ||
decl->decl_with_vis.symtab_node->decl ==
decl);
506 return decl->decl_with_vis.symtab_node;
518 static void check_ifunc_callee_symtab_nodes (
void);
533 ENUM_BITFIELD (ld_plugin_symbol_resolution) resolution : 8;
703 bool include_overwrite);
734#define FOR_EACH_ALIAS(NODE, ALIAS) \
735 for (unsigned ALIAS##_iter_ = 0; \
736 (NODE)->iterate_direct_aliases (ALIAS##_iter_, ALIAS); \
758 unsigned force_load_ref : 1;
894#define DEFCIFCODE(code, type, string) CIF_ ## code,
898#include "cif-code.def"
936 unit_id (0), tp_first_run (0), thunk (
false),
937 used_as_abstract_origin (
false),
939 only_called_at_startup (
false), only_called_at_exit (
false),
940 tm_clone (
false), dispatcher_function (
false),
941 dispatcher_resolver_function (
false), is_target_clone (
false),
942 calls_comdat_local (
false),
944 merged_extern_inline (
false), parallelized_function (
false),
946 versionable (
false), can_change_signature (
false),
947 redefined_extern_inline (
false), tm_may_enter_irr (
false),
949 called_by_ifunc_resolver (
false), has_omp_variant_constructs (
false),
957 bool remove_symbol_and_inline_clones (cgraph_node *forbidden_node =
NULL);
961 void record_stmt_references (gimple *stmt);
968 void set_call_stmt_including_clones (gimple *old_stmt, gcall *new_stmt,
969 bool update_speculative =
true);
977 struct symtab_node *ref =
NULL);
985 cgraph_node *function_or_virtual_thunk_symbol
987 struct symtab_node *ref =
NULL);
1009 cgraph_node *create_clone (
tree decl, profile_count
count,
1010 bool update_original,
1011 vec<cgraph_edge *> redirect_callers,
1012 bool call_duplication_hook,
1013 cgraph_node *new_inlined_to,
1014 ipa_param_adjustments *param_adjustments,
1015 const char *suffix);
1020 cgraph_node *create_virtual_clone (
const vec<cgraph_edge *> &redirect_callers,
1021 vec<ipa_replace_map *, va_gc> *tree_map,
1022 ipa_param_adjustments *param_adjustments,
1023 const char * suffix,
unsigned num_suffix);
1027 void remove_from_clone_tree ();
1046 cgraph_node *create_version_clone (
tree new_decl,
1047 vec<cgraph_edge *> redirect_callers,
1049 const char *suffix =
NULL);
1078 cgraph_node *create_version_clone_with_body
1079 (vec<cgraph_edge *> redirect_callers,
1080 vec<ipa_replace_map *, va_gc> *tree_map,
1081 ipa_param_adjustments *param_adjustments,
1083 tree target_attributes =
NULL_TREE,
bool version_decl =
true);
1087 cgraph_function_version_info *insert_new_function_version (
void);
1090 cgraph_function_version_info *function_version (
void);
1094 void analyze (
void);
1099 cgraph_node * create_thunk (
tree alias,
tree,
bool this_adjusting,
1100 HOST_WIDE_INT fixed_offset,
1101 HOST_WIDE_INT virtual_value,
1102 HOST_WIDE_INT indirect_offset,
1103 tree virtual_offset,
1108 inline cgraph_node *get_alias_target (
void);
1117 symtab_node *ref =
NULL);
1121 void expand_all_artificial_thunks ();
1124 void assemble_thunks_and_aliases (
void);
1131 void create_wrapper (cgraph_node *target);
1140 void dump (FILE *f);
1143 void dump_graphviz (FILE *f);
1150 bool get_untransformed_body ();
1157 void materialize_clone (
void);
1163 void release_body (
bool keep_arguments =
false);
1169 void make_local (
void);
1181 cgraph_edge *create_edge (cgraph_node *callee,
1182 gcall *call_stmt, profile_count
count,
1183 bool cloning_p =
false);
1191 cgraph_edge *create_indirect_edge (gcall *call_stmt,
int ecf_flags,
1192 profile_count
count,
1193 bool cloning_p =
false);
1198 void create_edge_including_clones (cgraph_node *callee,
1199 gimple *old_stmt, gcall *stmt,
1200 profile_count
count,
1205 cgraph_edge *get_edge (gimple *call_stmt);
1209 auto_vec<cgraph_edge *> collect_callers (
void);
1212 void remove_callers (
void);
1215 void remove_callees (
void);
1223 bool set_nothrow_flag (
bool nothrow);
1227 bool set_malloc_flag (
bool malloc_p);
1231 bool set_noreturn_flag (
bool noreturn_p);
1242 bool set_const_flag (
bool set_const,
bool looping);
1250 bool set_pure_flag (
bool pure,
bool looping);
1254 bool add_detected_attribute (
const char *attr);
1260 bool call_for_symbol_and_aliases (
bool (*callback) (cgraph_node *,
1262 void *data,
bool include_overwritable);
1268 bool call_for_symbol_thunks_and_aliases (
bool (*callback) (cgraph_node *node,
1271 bool include_overwritable,
1272 bool exclude_virtual_thunks =
false);
1276 inline void mark_force_output (
void);
1279 bool local_p (
void);
1285 bool can_be_local_p (
void);
1289 bool cannot_return_p (
void);
1295 bool only_called_directly_p (
void);
1298 void make_profile_local ();
1304 void apply_scale (profile_count num, profile_count den);
1310 void scale_profile_to (profile_count ipa_count);
1315 inline bool only_called_directly_or_aliased_p (
void);
1333 bool will_be_removed_from_program_if_no_direct_calls_p
1334 (
bool will_inline =
false);
1339 bool can_remove_if_no_direct_calls_and_refs_p (
void);
1345 bool can_remove_if_no_direct_calls_p (
bool will_inline =
false);
1352 inline bool has_gimple_body_p (
void);
1355 bool former_thunk_p (
void);
1359 bool check_calls_comdat_local_p ();
1365 static void dump_cgraph (FILE *f);
1375 inline int get_summary_id ()
1377 return m_summary_id;
1381 static void add_function_version (cgraph_function_version_info *fn_v,
1386 static void delete_function_version_by_decl (
tree decl);
1388 static void delete_function_version (cgraph_function_version_info *);
1414 static void finalize_function (
tree,
bool);
1444 static inline void checking_verify_cgraph_nodes (
void);
1582 void *
data,
bool include_overwritable);
1654 HOST_WIDE_INT
offset = 0);
1683 bool consider_placement_new =
true,
1684 bool consider_bases =
true);
1705 void dump (FILE *f,
bool newline =
true)
const;
1742class GTY((desc (
"%h.kind"), tag (
"CIIK_UNSPECIFIED")))
1750 : ecf_flags (flags), param_index (-1), kind (k),
1751 num_speculative_call_targets (0) {}
1755 void dump (FILE *f,
bool newline =
true)
const;
1773class GTY((tag (
"CIIK_SIMPLE")))
1817class GTY((tag (
"CIIK_POLYMORPHIC")))
1842 bool mark_unusable ()
1861 unsigned vptr_changed : 1;
1874class GTY((chain_next (
"%h.next_caller"), chain_prev (
"%h.prev_caller"),
1891 bool update_derived_edges =
true);
1901 void redirect_callee_duplicating_thunks (
cgraph_node *n);
1912 int get_next_speculative_id ();
1920 unsigned int speculative_id = 0);
1946 void purge_callback_edges ();
1982 if (e->next_callee && e->next_callee->speculative
1983 && e->next_callee->call_stmt == e->call_stmt
1984 && e->next_callee->lto_stmt_uid == e->lto_stmt_uid)
1985 return e->next_callee;
1999 && call_stmt == e2->call_stmt
2000 && lto_stmt_uid == e2->lto_stmt_uid)
2018 for (
unsigned int i = 0;
caller->iterate_reference (
i, ref);
i++)
2065 *killed_ssas =
nullptr);
2071 bool update_original);
2074 bool verify_count ();
2079 bool cannot_lead_to_return_p (
void);
2082 bool recursive_p (
void);
2085 bool maybe_hot_p ();
2099 inline int get_summary_id ()
2101 return m_summary_id;
2106 static unsigned int rebuild_edges (
void);
2110 static void rebuild_references (
void);
2131 void *
GTY ((skip (
"")))
aux;
2229 bool verify_corresponds_to_fndecl (
tree decl);
2232#define CGRAPH_FREQ_BASE 1000
2233#define CGRAPH_FREQ_MAX 100000
2247 void dump (FILE *f);
2295 bool include_overwritable);
2368 bool call_for_symbol_and_aliases_1 (
bool (*callback) (
varpool_node *,
void *),
2370 bool include_overwritable);
2463is_a_helper <const cgraph_simple_indirect_info *>
2474is_a_helper <cgraph_polymorphic_indirect_info *>
2485is_a_helper <const cgraph_polymorphic_indirect_info *>
2607 bool remove_unreachable_nodes (FILE *file);
2613 void remove_unreferenced_decls (
void);
2625 bool output_variables (
void);
2663 inline cgraph_node *first_defined_function (
void);
2675 cgraph_node *first_function_with_gimple_body (
void);
2753 void symtab_initialize_asm_name_hash (
void);
2759 void dump (FILE *f);
2775 return node->m_summary_id;
2781 if (!edge_released_summary_ids.is_empty ())
2782 edge->m_summary_id = edge_released_summary_ids.pop ();
2784 edge->m_summary_id = edges_max_summary_id++;
2859 bool indir_unknown_callee,
bool cloning_p);
2939 unsigned long number);
2941 unsigned long number);
2944 bool filter_suffix =
false);
2947 ipa_param_adjustments *,
2951 const cgraph_node *clone,
2952 const char *suffix);
3007 source = cn->inlined_to;
3012 target = cn->inlined_to;
3024 iterate_reference (0, ref);
3094 return (iterate_direct_aliases (0, ref) !=
NULL);
3103 return (resolution == LDPR_PREVAILING_DEF
3104 || resolution == LDPR_PREEMPTED_REG
3105 || resolution == LDPR_RESOLVED_EXEC
3140 nodes->previous =
node;
3143 nodes->m_uid = cgraph_max_uid++;
3157 node->order = order++;
3159 if (asmnodes ==
NULL)
3162 asm_last_node->next =
node;
3178 node->next->previous =
node->previous;
3203#define FOR_EACH_SYMBOL(node) \
3204 for ((node) = symtab->first_symbol (); (node); \
3205 (node) = safe_as_a<symtab_node *>((node)->next))
3222#define FOR_EACH_DEFINED_SYMBOL(node) \
3223 for ((node) = symtab->first_defined_symbol (); (node); \
3224 (node) = node->next_defined_symbol ())
3248#define FOR_EACH_VARIABLE(node) \
3249 for ((node) = symtab->first_variable (); \
3251 (node) = symtab->next_variable ((node)))
3268inline varpool_node *
3282#define FOR_EACH_STATIC_INITIALIZER(node) \
3283 for ((node) = symtab->first_static_initializer (); (node); \
3284 (node) = symtab->next_static_initializer (node))
3301inline varpool_node *
3314#define FOR_EACH_DEFINED_VARIABLE(node) \
3315 for ((node) = symtab->first_defined_variable (); (node); \
3316 (node) = symtab->next_defined_variable (node))
3347#define FOR_EACH_DEFINED_FUNCTION(node) \
3348 for ((node) = symtab->first_defined_function (); (node); \
3349 (node) = symtab->next_defined_function ((node)))
3402#define FOR_EACH_FUNCTION(node) \
3403 for ((node) = symtab->first_function (); (node); \
3404 (node) = symtab->next_function ((node)))
3407#define FOR_EACH_FUNCTION_REMOVABLE(node) \
3408 cgraph_node *next; \
3409 for ((node) = symtab->first_function (), \
3410 next = (node) ? symtab->next_function ((node)) : NULL; (node); \
3411 (node) = next, next = (node) ? symtab->next_function ((node)) : NULL)
3422 return definition && !thunk && !alias;
3426#define FOR_EACH_FUNCTION_WITH_GIMPLE_BODY(node) \
3427 for ((node) = symtab->first_function_with_gimple_body (); (node); \
3428 (node) = symtab->next_function_with_gimple_body (node))
3455 return (!force_output && !address_taken
3458 && !used_from_other_partition
3462 && !used_from_object_file_p ()
3477 if (force_output || used_from_other_partition || ref_by_asm)
3483 if (externally_visible
3486 || used_from_object_file_p ()))
3508 return (!force_output && !used_from_other_partition
3512 && !used_from_object_file_p ())
3513 || !externally_visible
3526 && !externally_visible
3527 && !used_from_other_partition
3620 n->callers->prev_caller =
this;
3621 next_caller = n->callers;
3635 return caller->decl == c->decl;
3741 bool include_overwritable)
3743 if (include_overwritable
3746 if (callback (
this,
data))
3749 if (has_aliases_p ())
3750 return call_for_symbol_and_aliases_1 (callback, data, include_overwritable);
3762 bool include_overwritable)
3764 if (include_overwritable
3767 if (callback (
this,
data))
3770 if (has_aliases_p ())
3771 return call_for_symbol_and_aliases_1 (callback, data, include_overwritable);
3783 bool include_overwritable)
3785 if (include_overwritable
3788 if (callback (
this,
data))
3791 if (has_aliases_p ())
3792 return call_for_symbol_and_aliases_1 (callback,
data, include_overwritable);
3807 return referred->address_can_be_compared_p ();
3825 clear_speculation ();
3835 speculative_outer_type =
NULL;
3836 speculative_offset = 0;
3848 maybe_derived_type =
true;
3869 return (!outer_type && !speculative_outer_type);
3906 || previous_sharing_asm_name ==
NULL);
3918class symbol_table_test
3922 symbol_table_test ();
3925 ~symbol_table_test ();
void analyze_toplevel_extended_asm()
Definition asm-toplevel.cc:97
gcov_type apply_scale(gcov_type freq, gcov_type scale)
Definition basic-block.h:573
state
Definition cfgbuild.cc:168
void cgraph_update_edges_for_call_stmt(gimple *old_stmt, tree old_decl, gimple *new_stmt)
Definition cgraph.cc:2083
bool cgraph_function_possibly_inlined_p(tree decl)
Definition cgraph.cc:2781
symbol_table * symtab
Definition cgraph.cc:82
cgraph_inline_failed_type_t cgraph_inline_failed_type(cgraph_inline_failed_t reason)
Definition cgraph.cc:2451
const char *const cgraph_availability_names[]
Definition cgraph.cc:2467
void release_function_body(tree decl)
Definition cgraph.cc:2187
symbol_table * saved_symtab
Definition cgraph.cc:4857
void cgraph_cc_finalize(void)
Definition cgraph.cc:4706
const char * cgraph_inline_failed_string(cgraph_inline_failed_t reason)
Definition cgraph.cc:2433
symtab_state
Definition cgraph.h:2503
@ LTO_STREAMING
Definition cgraph.h:2509
@ IPA
Definition cgraph.h:2511
@ PARSING
Definition cgraph.h:2505
@ EXPANSION
Definition cgraph.h:2518
@ IPA_SSA_AFTER_INLINING
Definition cgraph.h:2516
@ FINISHED
Definition cgraph.h:2520
@ IPA_SSA
Definition cgraph.h:2513
@ CONSTRUCTION
Definition cgraph.h:2507
const char * cgraph_inline_failed_string(cgraph_inline_failed_t)
Definition cgraph.cc:2433
void(* cgraph_edge_hook)(cgraph_edge *, void *)
Definition cgraph.h:2484
const char * xstrdup_for_dump(const char *transient_str)
Definition cgraph.h:3888
void debuginfo_early_stop(void)
Definition cgraphunit.cc:2551
cgraph_indirect_info_kind
Definition cgraph.h:1721
@ CIIK_UNSPECIFIED
Definition cgraph.h:1725
@ CIIK_N_KINDS
Definition cgraph.h:1732
@ CIIK_POLYMORPHIC
Definition cgraph.h:1730
@ CIIK_SIMPLE
Definition cgraph.h:1727
void debuginfo_start(void)
Definition cgraphunit.cc:2527
void(* cgraph_node_hook)(cgraph_node *, void *)
Definition cgraph.h:2485
tree ctor_for_folding(tree)
Definition varpool.cc:397
struct varpool_node_set_def * varpool_node_set
Definition cgraph.h:1591
cgraph_inline_failed_type_t cgraph_inline_failed_type(cgraph_inline_failed_t)
Definition cgraph.cc:2451
bool ipa_discover_variable_flags(void)
Definition ipa.cc:792
void symtab_thunks_cc_finalize(void)
Definition symtab-thunks.cc:663
void release_function_body(tree)
Definition cgraph.cc:2187
void(* cgraph_2node_hook)(cgraph_node *, cgraph_node *, void *)
Definition cgraph.h:2488
int compute_call_stmt_bb_frequency(tree, basic_block bb)
Definition cgraphbuild.cc:203
void debuginfo_early_init(void)
Definition cgraphunit.cc:2487
cgraph_inline_failed_type_t
Definition cgraph.h:900
@ CIF_FINAL_NORMAL
Definition cgraph.h:901
@ CIF_FINAL_ERROR
Definition cgraph.h:902
void set_new_clone_decl_and_node_flags(cgraph_node *new_node)
Definition cgraphclones.cc:180
bool speculation_useful_p(struct cgraph_edge *e, bool anticipate_inlining)
Definition ipa-inline.cc:1965
bool cgraph_function_possibly_inlined_p(tree)
Definition cgraph.cc:2781
symbol_table * symtab
Definition cgraph.cc:82
void debuginfo_stop(void)
Definition cgraphunit.cc:2535
void record_references_in_initializer(tree, bool)
Definition cgraphbuild.cc:390
cgraph_node_set_def * cgraph_node_set
Definition cgraph.h:1590
basic_block init_lowered_empty_function(tree, bool, profile_count)
Definition cgraphunit.cc:1735
tree clone_function_name_numbered(const char *name, const char *suffix)
Definition cgraphclones.cc:526
void tree_function_versioning(tree, tree, vec< ipa_replace_map *, va_gc > *, ipa_param_adjustments *, bool, bitmap, basic_block)
Definition tree-inline.cc:6329
hash_table< tree_descriptor_hasher > * constant_pool_htab(void)
Definition varasm.cc:3359
void(* cgraph_2edge_hook)(cgraph_edge *, cgraph_edge *, void *)
Definition cgraph.h:2487
void dump_callgraph_transformation(const cgraph_node *original, const cgraph_node *clone, const char *suffix)
Definition cgraphclones.cc:339
bool usable_polymorphic_info_p(cgraph_indirect_call_info *ii)
Definition cgraph.h:1861
bool decl_is_tm_clone(const_tree fndecl)
Definition cgraph.h:3671
void cgraphunit_cc_finalize(void)
Definition cgraphunit.cc:2632
tree clone_function_name(const char *name, const char *suffix, unsigned long number)
Definition cgraphclones.cc:557
void cgraph_build_static_cdtor(char which, tree body, int priority)
Definition ipa.cc:945
availability
Definition cgraph.h:74
@ AVAIL_UNSET
Definition cgraph.h:76
@ AVAIL_LOCAL
Definition cgraph.h:92
@ AVAIL_NOT_AVAILABLE
Definition cgraph.h:78
@ AVAIL_INTERPOSABLE
Definition cgraph.h:84
@ AVAIL_AVAILABLE
Definition cgraph.h:87
void debuginfo_early_start(void)
Definition cgraphunit.cc:2543
int tp_first_run_node_cmp(const void *pa, const void *pb)
Definition cgraphunit.cc:1952
void debuginfo_fini(void)
Definition cgraphunit.cc:2516
symbol_partitioning_class
Definition cgraph.h:97
@ SYMBOL_EXTERNAL
Definition cgraph.h:100
@ SYMBOL_PARTITION
Definition cgraph.h:102
@ SYMBOL_DUPLICATE
Definition cgraph.h:105
tree thunk_adjust(gimple_stmt_iterator *, tree, bool, HOST_WIDE_INT, tree, HOST_WIDE_INT)
Definition symtab-thunks.cc:190
void initialize_inline_failed(struct cgraph_edge *)
Definition ipa-inline-analysis.cc:104
tree clone_identifier(tree decl, const char *suffix, bool filter_suffix=false)
Definition cgraphclones.cc:618
bool decl_in_symtab_p(const_tree decl)
Definition cgraph.h:2985
ipa_opt_pass_d * ipa_opt_pass
Definition cgraph.h:38
void cgraph_update_edges_for_call_stmt(gimple *, tree, gimple *)
Definition cgraph.cc:2083
function_summary< thunk_info * > thunk_summary
Definition cgraph.h:2535
void analyze_toplevel_extended_asm(void)
Definition asm-toplevel.cc:97
toplevel_type
Definition cgraph.h:45
@ TOPLEVEL_MAX
Definition cgraph.h:51
@ TOPLEVEL_ASM
Definition cgraph.h:47
@ TOPLEVEL_BASE
Definition cgraph.h:46
@ SYMTAB_FUNCTION
Definition cgraph.h:49
@ SYMTAB_SYMBOL
Definition cgraph.h:48
@ SYMTAB_VARIABLE
Definition cgraph.h:50
const char *const ld_plugin_symbol_resolution_names[]
Definition symtab.cc:45
const char *const tls_model_names[]
Definition varpool.cc:40
cgraph_simd_clone_arg_type
Definition cgraph.h:759
@ SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP
Definition cgraph.h:763
@ SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP
Definition cgraph.h:768
@ SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP
Definition cgraph.h:772
@ SIMD_CLONE_ARG_TYPE_VECTOR
Definition cgraph.h:760
@ SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP
Definition cgraph.h:770
@ SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP
Definition cgraph.h:769
@ SIMD_CLONE_ARG_TYPE_LINEAR_VARIABLE_STEP
Definition cgraph.h:764
@ SIMD_CLONE_ARG_TYPE_MASK
Definition cgraph.h:773
@ SIMD_CLONE_ARG_TYPE_UNIFORM
Definition cgraph.h:761
@ SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP
Definition cgraph.h:767
@ SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP
Definition cgraph.h:771
void(* varpool_node_hook)(varpool_node *, void *)
Definition cgraph.h:2486
function_summary< clone_info * > clone_summary
Definition cgraph.h:2539
vec< cgraph_node * > cgraph_new_nodes
Definition cgraphunit.cc:217
void cgraph_cc_finalize(void)
Definition cgraph.cc:4706
cgraph_inline_failed_t
Definition cgraph.h:894
void debuginfo_init(void)
Definition cgraphunit.cc:2503
bool resolution_used_from_other_file_p(enum ld_plugin_symbol_resolution resolution)
Definition cgraph.h:3094
ipa_ref * speculative_call_target_ref()
Definition cgraph.h:2006
void purge_callback_edges()
Definition cgraph.cc:1451
cgraph_edge * speculative_call_indirect_edge()
Definition cgraph.h:1984
unsigned int indirect_inlining_edge
Definition cgraph.h:2135
void remove_caller(void)
Definition cgraph.cc:1216
profile_count count
Definition cgraph.h:2113
cgraph_node * callee
Definition cgraph.h:2115
void dump_edge_flags(FILE *f)
Definition cgraph.cc:2473
static cgraph_edge * make_direct(cgraph_edge *edge, cgraph_node *callee)
Definition cgraph.cc:1622
bool binds_to_current_def_p()
Definition cgraph.h:3648
unsigned int callback
Definition cgraph.h:2169
cgraph_edge * prev_caller
Definition cgraph.h:2116
cgraph_edge * next_caller
Definition cgraph.h:2117
unsigned int can_throw_external
Definition cgraph.h:2143
static cgraph_edge * resolve_speculation(cgraph_edge *edge, tree callee_decl=NULL)
Definition cgraph.cc:1534
int m_summary_id
Definition cgraph.h:2202
int m_uid
Definition cgraph.h:2199
void redirect_callee(cgraph_node *n)
Definition cgraph.cc:1696
unsigned in_polymorphic_cdtor
Definition cgraph.h:2181
cgraph_edge * next_speculative_call_target()
Definition cgraph.h:1970
sreal sreal_frequency()
Definition cgraph.cc:4754
unsigned int speculative_id
Definition cgraph.h:2133
cgraph_indirect_call_info * indirect_info
Definition cgraph.h:2123
static unsigned int rebuild_edges(void)
Definition cgraphbuild.cc:406
cgraph_edge * make_speculative(cgraph_node *n2, profile_count direct_count, unsigned int speculative_id=0)
Definition cgraph.cc:1318
static void rebuild_references(void)
Definition cgraphbuild.cc:451
friend class symbol_table
Definition cgraph.h:1872
unsigned int call_stmt_cannot_inline_p
Definition cgraph.h:2141
int get_summary_id()
Definition cgraph.h:2092
int num_speculative_call_targets_p(void)
Definition cgraph.cc:4819
void set_callee(cgraph_node *n)
Definition cgraph.h:3609
bool maybe_hot_p()
Definition cgraph.cc:3474
cgraph_edge * get_callback_carrying_edge()
Definition cgraph.cc:1398
unsigned int lto_stmt_uid
Definition cgraph.h:2130
void DEBUG_FUNCTION debug(void)
Definition cgraph.cc:2501
bool possibly_call_in_translation_unit_p(void)
Definition cgraph.cc:4785
cgraph_edge * speculative_call_for_target(cgraph_node *)
Definition cgraph.cc:1605
cgraph_node * caller
Definition cgraph.h:2114
enum cgraph_inline_failed_t inline_failed
Definition cgraph.h:2127
unsigned int speculative
Definition cgraph.h:2161
void remove_callee(void)
Definition cgraph.h:3634
static void remove(cgraph_edge *edge)
Definition cgraph.cc:1252
cgraph_edge * first_callback_edge()
Definition cgraph.cc:1416
static gimple * redirect_call_stmt_to_callee(cgraph_edge *e, hash_set< tree > *killed_ssas=nullptr)
Definition cgraph.cc:1759
bool verify_count()
Definition cgraph.cc:3719
unsigned int indirect_unknown_callee
Definition cgraph.h:2138
int get_uid()
Definition cgraph.h:2086
bool cannot_lead_to_return_p(void)
Definition cgraph.cc:3387
unsigned int callback_id
Definition cgraph.h:2178
cgraph_edge * clone(cgraph_node *n, gcall *call_stmt, unsigned stmt_uid, profile_count num, profile_count den, bool update_original)
Definition cgraphclones.cc:98
cgraph_edge * next_callback_edge()
Definition cgraph.cc:1434
cgraph_edge * make_callback(cgraph_node *n2, unsigned int callback_hash)
Definition cgraph.cc:1366
sreal combined_sreal_frequency()
Definition cgraph.cc:4765
bool recursive_p(void)
Definition cgraph.h:3622
int frequency()
Definition cgraph.h:3661
unsigned int has_callback
Definition cgraph.h:2174
cgraph_edge * first_speculative_call_target()
Definition cgraph.cc:1470
cgraph_edge * next_callee
Definition cgraph.h:2119
int get_next_speculative_id()
Definition cgraph.cc:1273
void * aux
Definition cgraph.h:2124
static cgraph_edge * set_call_stmt(cgraph_edge *e, gcall *new_stmt, bool update_derived_edges=true)
Definition cgraph.cc:962
gcall * call_stmt
Definition cgraph.h:2120
bool verify_corresponds_to_fndecl(tree decl)
Definition cgraph.cc:3753
friend struct cgraph_node
Definition cgraph.h:1871
cgraph_edge * prev_callee
Definition cgraph.h:2118
void redirect_callee_duplicating_thunks(cgraph_node *n)
Definition cgraphclones.cc:295
cgraph_indirect_call_info(int flags)
Definition cgraph.h:1742
void DEBUG_FUNCTION debug() const
Definition cgraph.cc:2773
int ecf_flags
Definition cgraph.h:1755
cgraph_indirect_call_info(enum cgraph_indirect_info_kind k, int flags)
Definition cgraph.h:1745
int param_index
Definition cgraph.h:1758
void dump(FILE *f, bool newline=true) const
Definition cgraph.cc:2731
enum cgraph_indirect_info_kind kind
Definition cgraph.h:1761
unsigned num_speculative_call_targets
Definition cgraph.h:1763
bool mark_unusable()
Definition cgraph.h:1836
cgraph_polymorphic_indirect_info(int flags)
Definition cgraph.h:1815
bool usable_p() const
Definition cgraph.h:1830
ipa_polymorphic_call_context context
Definition cgraph.h:1844
HOST_WIDE_INT otr_token
Definition cgraph.h:1846
tree otr_type
Definition cgraph.h:1848
unsigned vptr_changed
Definition cgraph.h:1855
cgraph_polymorphic_indirect_info(int flags, const ipa_polymorphic_call_context &ctx, HOST_WIDE_INT token, tree type)
Definition cgraph.h:1819
HOST_WIDE_INT offset
Definition cgraph.h:1851
HOST_WIDE_INT offset
Definition cgraph.h:1781
unsigned by_ref
Definition cgraph.h:1800
unsigned member_ptr
Definition cgraph.h:1794
unsigned fld_offset
Definition cgraph.h:1788
unsigned guaranteed_unmodified
Definition cgraph.h:1805
unsigned agg_contents
Definition cgraph.h:1792
cgraph_simple_indirect_info(int flags)
Definition cgraph.h:1772
unsigned fnptr_loaded_from_record
Definition cgraph.h:1797
tree rec_type
Definition cgraph.h:1784
Definition lto-streamer.h:756
Definition genoutput.cc:150
Definition symbol-summary.h:163
Definition hash-table.h:375
Definition tree-pass.h:142
Definition ipa-param-manipulation.h:211
void dump(FILE *f, bool newline=true) const
Definition ipa-polymorphic-call.cc:616
bool combine_speculation_with(tree, HOST_WIDE_INT, bool, tree)
Definition ipa-polymorphic-call.cc:1914
void offset_by(HOST_WIDE_INT)
Definition cgraph.h:3849
bool speculation_consistent_p(tree, HOST_WIDE_INT, bool, tree) const
Definition ipa-polymorphic-call.cc:1856
tree outer_type
Definition cgraph.h:1628
unsigned invalid
Definition cgraph.h:1639
unsigned speculative_maybe_derived_type
Definition cgraph.h:1636
HOST_WIDE_INT speculative_offset
Definition cgraph.h:1627
void DEBUG_FUNCTION debug() const
Definition ipa-polymorphic-call.cc:655
unsigned dynamic
Definition cgraph.h:1641
void clear_speculation()
Definition cgraph.h:3826
void clear_outer_type(tree otr_type=NULL)
Definition cgraph.h:3837
unsigned maybe_in_construction
Definition cgraph.h:1631
bool useless_p() const
Definition cgraph.h:3860
ipa_polymorphic_call_context()
Definition cgraph.h:3816
bool meet_with(ipa_polymorphic_call_context, tree otr_type=NULL)
Definition ipa-polymorphic-call.cc:2438
bool set_by_invariant(tree, tree, HOST_WIDE_INT)
Definition ipa-polymorphic-call.cc:760
tree speculative_outer_type
Definition cgraph.h:1629
void make_speculative(tree otr_type=NULL)
Definition ipa-polymorphic-call.cc:2337
bool equal_to(const ipa_polymorphic_call_context &x) const
Definition ipa-polymorphic-call.cc:2386
HOST_WIDE_INT offset
Definition cgraph.h:1626
void possible_dynamic_type_change(bool, tree otr_type=NULL)
Definition ipa-polymorphic-call.cc:2362
bool get_dynamic_type(tree, tree, tree, gimple *, unsigned *)
Definition ipa-polymorphic-call.cc:1566
void set_by_decl(tree, HOST_WIDE_INT)
Definition ipa-polymorphic-call.cc:731
void stream_in(class lto_input_block *, class data_in *data_in)
Definition ipa-polymorphic-call.cc:693
void stream_out(struct output_block *) const
Definition ipa-polymorphic-call.cc:663
bool restrict_to_inner_class(tree otr_type, bool consider_placement_new=true, bool consider_bases=true)
Definition ipa-polymorphic-call.cc:129
bool meet_speculation_with(tree, HOST_WIDE_INT, bool, tree)
Definition ipa-polymorphic-call.cc:2011
unsigned maybe_derived_type
Definition cgraph.h:1633
bool combine_with(ipa_polymorphic_call_context, tree otr_type=NULL)
Definition ipa-polymorphic-call.cc:2107
varpool_node_hook_list * add_varpool_removal_hook(varpool_node_hook hook, void *data)
Definition varpool.cc:53
varpool_node * next_defined_variable(varpool_node *node)
Definition cgraph.h:3295
int order
Definition cgraph.h:2810
varpool_node * first_variable(void)
Definition cgraph.h:3221
cgraph_node * first_defined_function(void)
Definition cgraph.h:3313
void change_decl_assembler_name(tree decl, tree name)
Definition symtab.cc:274
varpool_node * next_static_initializer(varpool_node *node)
Definition cgraph.h:3262
hash_table< asmname_hasher > * assembler_name_hash
Definition cgraph.h:2828
void free_edge(cgraph_edge *e)
Definition cgraph.cc:1238
vec< int > edge_released_summary_ids
Definition cgraph.h:2798
int assign_summary_id(cgraph_edge *edge)
Definition cgraph.h:2772
cgraph_2edge_hook_list * add_edge_duplication_hook(cgraph_2edge_hook hook, void *data)
Definition cgraph.cc:574
static char symbol_suffix_separator()
Definition symtab.cc:2580
void remove_cgraph_duplication_hook(cgraph_2node_hook_list *entry)
Definition cgraph.cc:632
void DEBUG_FUNCTION debug(void)
Definition symtab.cc:1068
varpool_node_hook_list * m_first_varpool_insertion_hook
Definition cgraph.h:2882
static bool decl_assembler_name_equal(tree decl, const_tree asmname)
Definition symtab.cc:142
symbol_table()
Definition cgraph.h:2548
cgraph_edge * create_edge(cgraph_node *caller, cgraph_node *callee, gcall *call_stmt, profile_count count, bool indir_unknown_callee, bool cloning_p)
Definition cgraph.cc:1067
symtab_node * first_defined_symbol(void)
Definition cgraph.h:3202
bool global_info_ready
Definition cgraph.h:2816
void clear_asm_symbols(void)
Definition cgraph.h:2593
bool function_flags_ready
Definition cgraph.h:2820
thunk_summary * m_thunks
Definition cgraph.h:2840
friend struct cgraph_edge
Definition cgraph.h:2546
bool output_variables(void)
Definition varpool.cc:733
void remove_varpool_removal_hook(varpool_node_hook_list *entry)
Definition varpool.cc:70
cgraph_edge_hook_list * m_first_edge_removal_hook
Definition cgraph.h:2872
asm_node * asmnodes
Definition cgraph.h:2804
void call_cgraph_duplication_hooks(cgraph_node *node, cgraph_node *node2)
Definition cgraph.cc:644
friend struct symtab_node
Definition cgraph.h:2544
int edges_count
Definition cgraph.h:2790
void compile(void)
Definition cgraphunit.cc:2340
static bool assembler_names_equal_p(const char *name1, const char *name2)
Definition symtab.cc:104
FILE * ipa_clones_dump_file
Definition cgraph.h:2835
cgraph_node * next_defined_function(cgraph_node *node)
Definition cgraph.h:3327
void remove_varpool_insertion_hook(varpool_node_hook_list *entry)
Definition varpool.cc:111
void call_edge_removal_hooks(cgraph_edge *e)
Definition cgraph.cc:479
asm_node * first_asm_symbol(void)
Definition cgraph.h:2629
void release_symbol(cgraph_node *node)
Definition cgraph.h:3180
cgraph_2node_hook_list * m_first_cgraph_duplicated_hook
Definition cgraph.h:2878
cgraph_node_hook_list * add_cgraph_insertion_hook(cgraph_node_hook hook, void *data)
Definition cgraph.cc:545
cgraph_node * next_function(cgraph_node *node)
Definition cgraph.h:3357
hash_table< section_name_hasher > * section_hash
Definition cgraph.h:2825
void output_weakrefs(void)
Definition cgraphunit.cc:2310
bool remove_unreachable_nodes(FILE *file)
Definition ipa.cc:310
void remove_cgraph_insertion_hook(cgraph_node_hook_list *entry)
Definition cgraph.cc:562
void unregister(symtab_node *node)
Definition cgraph.h:3163
cgraph_2node_hook_list * add_cgraph_duplication_hook(cgraph_2node_hook hook, void *data)
Definition cgraph.cc:615
void process_same_body_aliases(void)
Definition cgraphunit.cc:721
varpool_node_hook_list * m_first_varpool_removal_hook
Definition cgraph.h:2884
cgraph_node_hook_list * add_cgraph_removal_hook(cgraph_node_hook hook, void *data)
Definition cgraph.cc:491
clone_summary * m_clones
Definition cgraph.h:2843
hash_set< const cgraph_node * > cloned_nodes
Definition cgraph.h:2837
void initialize(void)
Definition cgraph.cc:430
cgraph_node * next_function_with_gimple_body(cgraph_node *node)
Definition cgraph.h:3382
int cgraph_max_summary_id
Definition cgraph.h:2788
void call_cgraph_insertion_hooks(cgraph_node *node)
Definition cgraph.cc:532
FILE * dump_file
Definition cgraph.h:2833
static hashval_t decl_assembler_name_hash(const_tree asmname)
Definition symtab.cc:82
varpool_node_hook_list * add_varpool_insertion_hook(varpool_node_hook hook, void *data)
Definition varpool.cc:94
void finalize_compilation_unit(void)
Definition cgraphunit.cc:2559
void process_new_functions(void)
Definition cgraphunit.cc:302
void symtab_initialize_asm_name_hash(void)
Definition symtab.cc:260
friend struct asmname_hasher
Definition cgraph.h:2869
int cgraph_max_uid
Definition cgraph.h:2787
void dump_graphviz(FILE *f)
Definition symtab.cc:1058
bool cpp_implicit_aliases_done
Definition cgraph.h:2822
cgraph_node_hook_list * m_first_cgraph_removal_hook
Definition cgraph.h:2874
asm_node * finalize_toplevel_asm(tree asm_str)
Definition cgraph.h:3145
cgraph_node * create_empty(void)
Definition cgraph.cc:442
symtab_node * first_symbol(void)
Definition cgraph.h:3190
int cgraph_count
Definition cgraph.h:2786
cgraph_node * first_function(void)
Definition cgraph.h:3346
void call_cgraph_removal_hooks(cgraph_node *node)
Definition cgraph.cc:520
int max_unit
Definition cgraph.h:2813
vec< int > cgraph_released_summary_ids
Definition cgraph.h:2795
enum symtab_state state
Definition cgraph.h:2818
void remove_edge_removal_hook(cgraph_edge_hook_list *entry)
Definition cgraph.cc:467
cgraph_edge_hook_list * add_edge_removal_hook(cgraph_edge_hook hook, void *data)
Definition cgraph.cc:450
varpool_node * first_static_initializer(void)
Definition cgraph.h:3248
int assign_summary_id(cgraph_node *node)
Definition cgraph.h:2761
cgraph_node_hook_list * m_first_cgraph_insertion_hook
Definition cgraph.h:2880
symtab_node * nodes
Definition cgraph.h:2803
void dump(FILE *f)
Definition symtab.cc:1049
void register_symbol(symtab_node *node)
Definition cgraph.h:3127
void call_varpool_insertion_hooks(varpool_node *node)
Definition varpool.cc:123
varpool_node * first_defined_variable(void)
Definition cgraph.h:3281
int edges_max_uid
Definition cgraph.h:2791
void remove_cgraph_removal_hook(cgraph_node_hook_list *entry)
Definition cgraph.cc:508
void symtab_prevail_in_asm_name_hash(symtab_node *node)
Definition symtab.cc:251
cgraph_2edge_hook_list * m_first_edge_duplicated_hook
Definition cgraph.h:2876
cgraph_node * first_function_with_gimple_body(void)
Definition cgraph.h:3368
void insert_to_assembler_name_hash(symtab_node *node, bool with_clones)
Definition symtab.cc:162
void call_edge_duplication_hooks(cgraph_edge *cs1, cgraph_edge *cs2)
Definition cgraph.cc:603
void remove_edge_duplication_hook(cgraph_2edge_hook_list *entry)
Definition cgraph.cc:591
varpool_node * next_variable(varpool_node *node)
Definition cgraph.h:3232
void unlink_from_assembler_name_hash(symtab_node *node, bool with_clones)
Definition symtab.cc:203
friend struct cgraph_node
Definition cgraph.h:2545
void call_varpool_removal_hooks(varpool_node *node)
Definition varpool.cc:82
asm_node * asm_last_node
Definition cgraph.h:2805
hash_map< symtab_node *, symbol_priority_map > * init_priority_hash
Definition cgraph.h:2831
int edges_max_summary_id
Definition cgraph.h:2792
void remove_unreferenced_decls(void)
Definition varpool.cc:629
bool debug
Definition collect-utils.cc:34
struct basic_block_def * basic_block
Definition coretypes.h:372
struct rtx_def * rtx
Definition coretypes.h:57
optimize_size_level
Definition coretypes.h:477
@ OPTIMIZE_SIZE_BALANCED
Definition coretypes.h:481
@ OPTIMIZE_SIZE_NO
Definition coretypes.h:479
@ OPTIMIZE_SIZE_MAX
Definition coretypes.h:483
class edge_def * edge
Definition coretypes.h:369
tls_model
Definition coretypes.h:212
@ TLS_MODEL_NONE
Definition coretypes.h:213
union section section
Definition coretypes.h:161
node_frequency
Definition coretypes.h:271
@ NODE_FREQUENCY_NORMAL
Definition coretypes.h:279
@ NODE_FREQUENCY_UNLIKELY_EXECUTED
Definition coretypes.h:274
const union tree_node * const_tree
Definition coretypes.h:98
#define GTY(x)
Definition coretypes.h:41
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
static unsigned int count[debug_counter_number_of_counters]
Definition dbgcnt.cc:50
FILE * dump_file
Definition dumpfile.cc:63
void change_decl_assembler_name(tree, tree)
static type_p type(options_p *optsp, bool nested)
Definition gengtype-parse.cc:883
void ggc_free(void *)
Definition genmatch.cc:52
T * ggc_cleared_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:217
#define ggc_strdup(S)
Definition ggc.h:281
bool set_comdat_group(symtab_node *symbol, void *head_p)
Definition ipa-comdats.cc:208
ipa_ref_use
Definition ipa-ref.h:31
@ IPA_REF_ALIAS
Definition ipa-ref.h:35
@ IPA_REF_ADDR
Definition ipa-ref.h:34
static int frequency
Definition ira-costs.cc:107
bool is_a(U *p)
Definition is-a.h:230
T safe_as_a(U *p)
Definition is-a.h:264
T as_a(U *p)
Definition is-a.h:253
T dyn_cast(U *p)
Definition is-a.h:280
Definition custom-sarif-properties/state-graphs.h:33
const json::string_property function
@ n
Definition graphviz.h:249
Definition dump-context.h:31
void dump(const T &obj)
Definition dump.h:70
section * get_section(const char *, unsigned int, tree, bool not_existing=false)
Definition varasm.cc:291
poly_int< NUM_POLY_INT_COEFFS, unsigned HOST_WIDE_INT > poly_uint64
Definition poly-int-types.h:25
poly_int< N, C > r
Definition poly-int.h:774
i
Definition poly-int.h:776
profile_quality
Definition profile-count.h:30
#define REG_BR_PROB_BASE
Definition profile-count.h:75
rtx find_replacement(rtx *loc)
Definition reload.cc:6383
tree asm_str
Definition cgraph.h:2373
vec< symtab_node * > symbols_referenced
Definition cgraph.h:2376
asm_node(tree asm_str)
Definition cgraph.h:2369
static bool equal(symtab_node *n, const_tree t)
Definition cgraph.h:2899
static hashval_t hash(symtab_node *n)
Definition cgraph.h:2892
const_tree compare_type
Definition cgraph.h:2525
static bool equal(cgraph_edge *, gimple *)
Definition cgraph.cc:851
static hashval_t hash(cgraph_edge *)
Definition cgraph.cc:831
gimple * compare_type
Definition cgraph.h:909
tree assembler_name
Definition cgraph.h:888
cgraph_node * this_node
Definition cgraph.h:867
cgraph_function_version_info * next
Definition cgraph.h:875
cgraph_function_version_info * prev
Definition cgraph.h:871
tree dispatcher_resolver
Definition cgraph.h:885
hash_map< cgraph_node *, size_t > * map
Definition cgraph.h:1586
vec< cgraph_node * > nodes
Definition cgraph.h:1587
cgraph_node_set set
Definition cgraph.h:1606
unsigned index
Definition cgraph.h:1607
static cgraph_node * get(const_tree decl)
Definition cgraph.h:1401
cgraph_edge * indirect_calls
Definition cgraph.h:1458
void scale_profile_to(profile_count ipa_count)
Definition cgraph.cc:287
unsigned only_called_at_startup
Definition cgraph.h:1512
cgraph_node()
Definition cgraph.h:924
void DEBUG_FUNCTION debug(void)
Definition cgraph.cc:2710
void create_wrapper(cgraph_node *target)
Definition cgraphunit.cc:2647
struct cgraph_rtl_info * rtl
Definition cgraph.h:1484
bool can_remove_if_no_direct_calls_p(bool will_inline=false)
Definition cgraph.cc:3491
static void dump_cgraph(FILE *f)
Definition cgraph.cc:2718
enum node_frequency frequency
Definition cgraph.h:1510
void make_local(void)
Definition cgraph.cc:2946
enum availability get_availability(symtab_node *ref=NULL)
Definition cgraph.cc:2791
unsigned split_part
Definition cgraph.h:1544
unsigned nonfreeing_fn
Definition cgraph.h:1536
bool former_thunk_p(void)
Definition cgraph.cc:4840
void DEBUG_FUNCTION verify_node(void)
Definition cgraph.cc:3943
cgraph_node * create_thunk(tree alias, tree, bool this_adjusting, HOST_WIDE_INT fixed_offset, HOST_WIDE_INT virtual_value, HOST_WIDE_INT indirect_offset, tree virtual_offset, tree real_alias)
Definition cgraph.cc:769
int count_materialization_scale
Definition cgraph.h:1490
unsigned int profile_id
Definition cgraph.h:1492
cgraph_edge * create_edge(cgraph_node *callee, gcall *call_stmt, profile_count count, bool cloning_p=false)
Definition cgraph.cc:1144
unsigned thunk
Definition cgraph.h:1499
void analyze(void)
Definition cgraphunit.cc:628
cgraph_function_version_info * insert_new_function_version(void)
Definition cgraph.cc:321
bool set_const_flag(bool set_const, bool looping)
Definition cgraph.cc:3274
unsigned tm_clone
Definition cgraph.h:1519
bool can_remove_if_no_direct_calls_and_refs_p(void)
Definition cgraph.h:3463
bool get_body()
Definition cgraph.cc:4646
unsigned lowered
Definition cgraph.h:1504
int unit_id
Definition cgraph.h:1494
cgraph_edge * callers
Definition cgraph.h:1455
void set_call_stmt_including_clones(gimple *old_stmt, gcall *new_stmt, bool update_speculative=true)
Definition cgraphclones.cc:850
void expand_all_artificial_thunks()
Definition cgraphclones.cc:308
void remove(void)
Definition cgraph.cc:2262
unsigned icf_merged
Definition cgraph.h:1532
cgraph_node * next_sibling_clone
Definition cgraph.h:1459
cgraph_node * find_replacement(struct clone_info *)
Definition cgraphclones.cc:755
void remove_callees(void)
Definition cgraph.cc:2117
static void checking_verify_cgraph_nodes(void)
Definition cgraph.h:3487
cgraph_node * clones
Definition cgraph.h:1461
unsigned can_change_signature
Definition cgraph.h:1554
unsigned is_target_clone
Definition cgraph.h:1527
static void DEBUG_FUNCTION verify_cgraph_nodes(void)
Definition cgraph.cc:4506
static void add_function_version(cgraph_function_version_info *fn_v, tree decl)
Definition cgraph.cc:375
cgraph_node * get_alias_target(void)
Definition cgraph.h:3537
bool check_calls_comdat_local_p()
Definition cgraph.cc:4827
static cgraph_node * create_same_body_alias(tree alias, tree decl)
Definition cgraph.cc:744
void record_stmt_references(gimple *stmt)
Definition cgraphbuild.cc:273
cgraph_node * function_or_virtual_thunk_symbol(enum availability *avail=NULL, struct symtab_node *ref=NULL)
Definition cgraph.cc:4555
bool has_gimple_body_p(void)
Definition cgraph.h:3413
static void add_new_function(tree fndecl, bool lowered)
Definition cgraphunit.cc:530
static bool has_thunk_p(cgraph_node *node, void *)
Definition cgraph.cc:4743
void remove_from_clone_tree()
Definition cgraphclones.cc:1200
unsigned calls_comdat_local
Definition cgraph.h:1530
cgraph_node * inlined_to
Definition cgraph.h:1482
cgraph_edge * create_indirect_edge(gcall *call_stmt, int ecf_flags, profile_count count, bool cloning_p=false)
Definition cgraph.cc:1172
friend class symbol_table
Definition cgraph.h:921
void make_profile_local()
Definition cgraph.cc:185
bool local_p(void)
Definition ipa-visibility.cc:113
cgraph_node * clone_of
Definition cgraph.h:1462
bool cannot_return_p(void)
Definition cgraph.cc:3371
static void delete_function_version_by_decl(tree decl)
Definition cgraph.cc:359
void dump(FILE *f)
Definition cgraph.cc:2515
priority_type get_fini_priority(void)
Definition symtab.cc:1859
bool set_malloc_flag(bool malloc_p)
Definition cgraph.cc:3041
bool call_for_symbol_and_aliases(bool(*callback)(cgraph_node *, void *), void *data, bool include_overwritable)
Definition cgraph.h:3752
unsigned gc_candidate
Definition cgraph.h:1565
void apply_scale(profile_count num, profile_count den)
Definition cgraph.cc:265
cgraph_node * function_symbol(enum availability *avail=NULL, struct symtab_node *ref=NULL)
Definition cgraph.cc:4528
struct function * get_fun() const
Definition cgraph.cc:4688
void mark_force_output(void)
Definition cgraph.h:3683
void create_edge_including_clones(cgraph_node *callee, gimple *old_stmt, gcall *stmt, profile_count count, cgraph_inline_failed_t reason)
Definition cgraphclones.cc:910
unsigned only_called_at_exit
Definition cgraph.h:1514
void dump_graphviz(FILE *f)
Definition cgraph.cc:2694
void release_body(bool keep_arguments=false)
Definition cgraph.cc:2229
profile_count count
Definition cgraph.h:1487
static cgraph_node * get_create(tree)
Definition cgraph.cc:687
bool set_nothrow_flag(bool nothrow)
Definition cgraph.cc:2993
cgraph_simd_clone * simdclone
Definition cgraph.h:1471
unsigned called_by_ifunc_resolver
Definition cgraph.h:1567
bool set_noreturn_flag(bool noreturn_p)
Definition cgraph.cc:3136
cgraph_node * create_version_clone_with_body(vec< cgraph_edge * > redirect_callers, vec< ipa_replace_map *, va_gc > *tree_map, ipa_param_adjustments *param_adjustments, bitmap bbs_to_copy, basic_block new_entry_block, const char *suffix, tree target_attributes=NULL_TREE, bool version_decl=true)
Definition cgraphclones.cc:1095
void expand(void)
Definition cgraphunit.cc:1824
vec< ipa_opt_pass, va_heap, vl_ptr > ipa_transforms_to_apply
Definition cgraph.h:1478
static cgraph_node * create_alias(tree alias, tree target)
Definition cgraph.cc:718
cgraph_edge * callees
Definition cgraph.h:1454
bool remove_symbol_and_inline_clones(cgraph_node *forbidden_node=NULL)
Definition cgraphclones.cc:963
hash_table< cgraph_edge_hasher > * call_site_hash
Definition cgraph.h:1465
unsigned indirect_call_target
Definition cgraph.h:1546
bool call_for_symbol_and_aliases_1(bool(*callback)(cgraph_node *, void *), void *data, bool include_overwritable)
Definition cgraph.cc:4722
bool only_called_directly_p(void)
Definition cgraph.cc:3622
void assemble_thunks_and_aliases(void)
Definition cgraphunit.cc:1781
unsigned ipcp_clone
Definition cgraph.h:1561
cgraph_function_version_info * function_version(void)
Definition cgraph.cc:172
static void finalize_function(tree, bool)
Definition cgraphunit.cc:452
bool can_be_local_p(void)
Definition cgraph.cc:2866
bool call_for_symbol_thunks_and_aliases(bool(*callback)(cgraph_node *node, void *data), void *data, bool include_overwritable, bool exclude_virtual_thunks=false)
Definition cgraph.cc:2878
unsigned merged_comdat
Definition cgraph.h:1538
unsigned dispatcher_resolver_function
Definition cgraph.h:1523
static cgraph_node * local_info_node(tree decl)
Definition cgraph.cc:2396
void materialize_clone(void)
Definition cgraphclones.cc:1216
unsigned parallelized_function
Definition cgraph.h:1542
static void debug_cgraph(void)
Definition cgraph.h:1366
unsigned versionable
Definition cgraph.h:1551
int m_summary_id
Definition cgraph.h:1574
unsigned has_omp_variant_constructs
Definition cgraph.h:1569
auto_vec< cgraph_edge * > collect_callers(void)
Definition cgraph.cc:3652
cgraph_node * prev_sibling_clone
Definition cgraph.h:1460
cgraph_edge * get_edge(gimple *call_stmt)
Definition cgraph.cc:906
unsigned local
Definition cgraph.h:1549
unsigned process
Definition cgraph.h:1507
static void delete_function_version(cgraph_function_version_info *)
Definition cgraph.cc:338
void make_profile_global0(profile_quality quality)
Definition cgraph.cc:207
void mark_address_taken(void)
Definition cgraph.cc:2372
unsigned redefined_extern_inline
Definition cgraph.h:1557
cgraph_node * create_virtual_clone(const vec< cgraph_edge * > &redirect_callers, vec< ipa_replace_map *, va_gc > *tree_map, ipa_param_adjustments *param_adjustments, const char *suffix, unsigned num_suffix)
Definition cgraphclones.cc:663
int tp_first_run
Definition cgraph.h:1496
static cgraph_node * create(tree decl)
Definition cgraph.cc:658
bool will_be_removed_from_program_if_no_direct_calls_p(bool will_inline=false)
Definition cgraph.cc:3563
tree former_clone_of
Definition cgraph.h:1467
bool get_untransformed_body()
Definition cgraph.cc:4577
bool only_called_directly_or_aliased_p(void)
Definition cgraph.h:3445
cgraph_node * create_version_clone(tree new_decl, vec< cgraph_edge * > redirect_callers, bitmap bbs_to_copy, const char *suffix=NULL)
Definition cgraphclones.cc:1016
cgraph_node * ultimate_alias_target(availability *availability=NULL, symtab_node *ref=NULL)
Definition cgraph.h:3577
static cgraph_node * get_for_asmname(tree asmname)
Definition cgraph.cc:814
cgraph_node * simd_clones
Definition cgraph.h:1473
unsigned merged_extern_inline
Definition cgraph.h:1540
bool add_detected_attribute(const char *attr)
Definition cgraph.cc:3089
int get_summary_id()
Definition cgraph.h:1372
cgraph_node * create_clone(tree decl, profile_count count, bool update_original, vec< cgraph_edge * > redirect_callers, bool call_duplication_hook, cgraph_node *new_inlined_to, ipa_param_adjustments *param_adjustments, const char *suffix)
Definition cgraphclones.cc:402
void set_fini_priority(priority_type priority)
Definition symtab.cc:1912
unsigned dispatcher_function
Definition cgraph.h:1521
enum optimize_size_level optimize_for_size_p(void)
Definition cgraph.h:3692
bool set_pure_flag(bool pure, bool looping)
Definition cgraph.cc:3357
void remove_callers(void)
Definition cgraph.cc:2154
unsigned used_as_abstract_origin
Definition cgraph.h:1502
unsigned tm_may_enter_irr
Definition cgraph.h:1559
static struct cgraph_rtl_info * rtl_info(const_tree)
Definition cgraph.cc:2408
unsigned int alignment
Definition cgraph.h:813
tree orig_arg
Definition cgraph.h:782
HOST_WIDE_INT linear_step
Definition cgraph.h:821
enum cgraph_simd_clone_arg_type arg_type
Definition cgraph.h:810
tree orig_type
Definition cgraph.h:786
tree vector_arg
Definition cgraph.h:794
tree vector_type
Definition cgraph.h:797
tree simd_array
Definition cgraph.h:806
cgraph_node * next_clone
Definition cgraph.h:855
poly_uint64 vecsize_int
Definition cgraph.h:835
unsigned int inbranch
Definition cgraph.h:852
poly_uint64 vecsize_float
Definition cgraph.h:838
machine_mode mask_mode
Definition cgraph.h:843
cgraph_simd_clone_arg args[1]
Definition cgraph.h:861
cgraph_node * prev_clone
Definition cgraph.h:855
poly_uint64 simdlen
Definition cgraph.h:828
cgraph_node * origin
Definition cgraph.h:858
unsigned int nargs
Definition cgraph.h:832
unsigned char vecsize_mangle
Definition cgraph.h:848
Definition symtab-clones.h:25
hashval_t hash
Definition cgraph.h:3437
rtx rtl
Definition cgraph.h:3429
tree value
Definition cgraph.h:3432
Definition genautomata.cc:499
Definition hash-traits.h:321
Definition gimple-iterator.h:26
vec< ipa_ref_t *, va_heap, vl_ptr > referring
Definition ipa-ref.h:136
vec< ipa_ref_t, va_heap, vl_ptr > references
Definition ipa-ref.h:133
unsigned int speculative
Definition ipa-ref.h:67
enum ipa_ref_use use
Definition ipa-ref.h:66
gimple * stmt
Definition ipa-ref.h:60
symtab_node * referred
Definition ipa-ref.h:59
unsigned int speculative_id
Definition ipa-ref.h:65
bool address_matters_p()
Definition cgraph.h:3792
unsigned int lto_stmt_uid
Definition ipa-ref.h:61
symtab_node * referring
Definition ipa-ref.h:58
unsigned force_load_ref
Definition cgraph.h:755
tree new_tree
Definition cgraph.h:749
int parm_num
Definition cgraph.h:751
static bool test(const U *p)
Definition is-a.h:211
Definition lto-streamer.h:567
Definition lto-streamer.h:709
Definition profile-count.h:765
static profile_count zero()
Definition profile-count.h:813
int ref_count
Definition cgraph.h:59
char * name
Definition cgraph.h:60
const char * compare_type
Definition cgraph.h:67
static hashval_t hash(section_hash_entry *)
Definition symtab.cc:365
static bool equal(section_hash_entry *, const char *)
Definition symtab.cc:373
priority_type fini
Definition cgraph.h:2499
priority_type init
Definition cgraph.h:2498
static bool set_implicit_section(symtab_node *n, void *)
Definition symtab.cc:1930
unsigned in_init_priority_hash
Definition cgraph.h:634
void dump_graphviz(FILE *f)
Definition symtab.cc:1042
symtab_node * get_alias_target(void)
Definition cgraph.h:3014
tree get_alias_target_tree()
Definition cgraph.h:3026
unsigned used_from_other_partition
Definition cgraph.h:621
const char * get_visibility_string() const
Definition symtab.cc:890
tree get_comdat_group_id()
Definition cgraph.h:283
tree x_comdat_group
Definition cgraph.h:676
void add_to_same_comdat_group(symtab_node *old_node)
Definition symtab.cc:495
tree alias_target
Definition cgraph.h:671
bool native_rtl_p() const
Definition cgraphunit.cc:227
ipa_ref * iterate_reference(unsigned i, ipa_ref *&ref)
Definition cgraph.h:3050
void dump(FILE *f)
Definition symtab.cc:1033
unsigned weakref
Definition cgraph.h:563
unsigned address_taken
Definition cgraph.h:632
bool address_matters_p()
Definition symtab.cc:2468
unsigned definition
Definition cgraph.h:536
static symtab_node * get(const_tree decl)
Definition cgraph.h:490
bool referred_to_p(bool include_self=true)
Definition cgraphunit.cc:426
priority_type get_init_priority()
Definition symtab.cc:1847
unsigned num_references(void)
Definition cgraph.h:255
ipa_ref * clone_reference(ipa_ref *ref, gimple *stmt)
Definition symtab.cc:743
void clone_references(symtab_node *node)
Definition symtab.cc:703
bool output_to_lto_symbol_table_p(void)
Definition symtab.cc:2652
const char * dump_asm_name() const
Definition symtab.cc:599
section_hash_entry * x_section
Definition cgraph.h:679
unsigned externally_visible
Definition cgraph.h:585
static DEBUG_FUNCTION void verify_symtab_nodes(void)
Definition symtab.cc:1482
void copy_visibility_from(symtab_node *n)
Definition symtab.cc:1601
bool has_aliases_p(void)
Definition cgraph.h:3083
struct symbol_priority_map * priority_info(void)
Definition symtab.cc:1872
const char * get_dump_name(bool asm_name_p) const
Definition symtab.cc:580
void unregister(struct clone_info *)
Definition symtab.cc:452
unsigned unique_name
Definition cgraph.h:606
void DEBUG_FUNCTION debug(void)
Definition symtab.cc:1098
void set_section(const char *section)
Definition symtab.cc:1830
const char * get_section() const
Definition cgraph.h:299
unsigned need_lto_streaming
Definition cgraph.h:638
symtab_node * next_defined_symbol(void)
Definition cgraph.h:3036
unsigned cpp_implicit_alias
Definition cgraph.h:570
void set_comdat_group(tree group)
Definition cgraph.h:291
void dump_base(FILE *)
Definition symtab.cc:907
void DEBUG_FUNCTION verify(void)
Definition symtab.cc:1370
bool call_for_symbol_and_aliases_1(bool(*callback)(symtab_node *, void *), void *data, bool include_overwrite)
Definition symtab.cc:2428
const char * name() const
Definition symtab.cc:567
void clear_stmts_in_references(void)
Definition symtab.cc:801
static void check_ifunc_callee_symtab_nodes(void)
Definition symtab.cc:1450
unsigned forced_by_abi
Definition cgraph.h:594
ipa_ref * find_reference(symtab_node *referred_node, gimple *stmt, unsigned int lto_stmt_uid, enum ipa_ref_use use_type)
Definition symtab.cc:761
enum availability get_availability(symtab_node *ref=NULL)
Definition cgraph.h:3719
void set_section_for_node(const char *section)
Definition symtab.cc:1754
symtab_node * ultimate_alias_target_1(enum availability *avail=NULL, symtab_node *ref=NULL)
Definition symtab.cc:1656
void remove_from_same_comdat_group(void)
Definition symtab.cc:429
friend class symbol_table
Definition cgraph.h:135
ipa_ref * maybe_create_reference(tree val, gimple *stmt)
Definition symtab.cc:672
int get_uid() const
Definition cgraph.h:524
symtab_node * same_comdat_group
Definition cgraph.h:663
void remove_all_references(void)
Definition symtab.cc:825
bool prevailing_p(void)
Definition cgraph.h:3896
unsigned ref_by_asm
Definition cgraph.h:598
unsigned no_reorder
Definition cgraph.h:587
void * aux
Definition cgraph.h:673
int equal_address_to(symtab_node *s2, bool memory_accessed=false)
Definition symtab.cc:2316
unsigned transparent_alias
Definition cgraph.h:561
unsigned implicit_section
Definition cgraph.h:609
bool address_can_be_compared_p(void)
Definition cgraph.cc:150
enum ld_plugin_symbol_resolution resolution
Definition cgraph.h:530
void clone_referring(symtab_node *node)
Definition symtab.cc:723
bool resolve_alias(symtab_node *target, bool transparent=false)
Definition symtab.cc:1942
symtab_node * previous_sharing_asm_name
Definition cgraph.h:660
bool can_be_discarded_p(void)
Definition cgraph.h:438
void remove_stmt_references(gimple *stmt)
Definition symtab.cc:782
unsigned semantic_interposition
Definition cgraph.h:614
static symtab_node * get_for_asmname(const_tree asmname)
Definition symtab.cc:1077
static symtab_node * get_create(tree node)
Definition cgraph.h:3708
unsigned refuse_visibility_changes
Definition cgraph.h:580
symtab_node(toplevel_type t)
Definition cgraph.h:138
ipa_ref * create_reference(symtab_node *referred_node, enum ipa_ref_use use_type)
Definition symtab.cc:609
void dump_references(FILE *file)
Definition symtab.cc:845
enum symbol_partitioning_class get_partitioning_class(void)
Definition symtab.cc:2171
tree decl
Definition cgraph.h:648
void dissolve_same_comdat_group_list(void)
Definition symtab.cc:530
unsigned must_remain_in_tu_name
Definition cgraph.h:601
unsigned symver
Definition cgraph.h:572
unsigned alias
Definition cgraph.h:539
void make_decl_local(void)
Definition symtab.cc:1536
bool binds_to_current_def_p(symtab_node *ref=NULL)
Definition symtab.cc:2595
ipa_ref * iterate_direct_aliases(unsigned i, ipa_ref *&ref)
Definition cgraph.h:3070
bool semantically_equivalent_p(symtab_node *target)
Definition symtab.cc:2137
void remove_all_referring(void)
Definition symtab.cc:835
void reset(bool preserve_comdat_group=false)
Definition cgraphunit.cc:393
unsigned offloadable
Definition cgraph.h:641
void fixup_same_cpp_alias_visibility(symtab_node *target)
Definition symtab.cc:1718
bool in_same_comdat_group_p(symtab_node *target)
Definition cgraph.h:2993
const char * dump_name() const
Definition symtab.cc:593
unsigned must_remain_in_tu_body
Definition cgraph.h:604
static bool set_section_from_node(symtab_node *n, void *o)
Definition symtab.cc:1820
unsigned writeonly
Definition cgraph.h:577
const char * asm_name() const
Definition symtab.cc:557
unsigned int definition_alignment()
Definition symtab.cc:2569
void dump_referring(FILE *)
Definition symtab.cc:862
unsigned body_removed
Definition cgraph.h:612
symtab_node * noninterposable_alias(void)
Definition symtab.cc:2060
static void checking_verify_symtab_nodes(void)
Definition cgraph.h:724
ipa_ref_list ref_list
Definition cgraph.h:666
bool DEBUG_FUNCTION verify_base(void)
Definition symtab.cc:1115
unsigned force_output
Definition cgraph.h:590
static bool set_section_from_string(symtab_node *n, void *s)
Definition symtab.cc:1810
void register_symbol(void)
Definition symtab.cc:412
tree get_comdat_group()
Definition cgraph.h:277
symtab_node * ultimate_alias_target(enum availability *avail=NULL, struct symtab_node *ref=NULL)
Definition cgraph.h:3557
const char * get_symtab_type_string() const
Definition symtab.cc:899
bool real_symbol_p(void)
Definition cgraph.h:2965
unsigned analyzed
Definition cgraph.h:575
bool nonzero_address()
Definition symtab.cc:2302
void remove(void)
Definition symtab.cc:484
bool call_for_symbol_and_aliases(bool(*callback)(symtab_node *, void *), void *data, bool include_overwrite)
Definition cgraph.h:3731
int m_uid
Definition cgraph.h:703
bool comdat_local_p(void)
Definition cgraph.h:454
bool needed_p(void)
Definition cgraphunit.cc:240
unsigned in_other_partition
Definition cgraph.h:625
ipa_ref * iterate_referring(unsigned i, ipa_ref *&ref)
Definition cgraph.h:3060
symtab_node * next_sharing_asm_name
Definition cgraph.h:659
void set_init_priority(priority_type priority)
Definition symtab.cc:1893
bool used_from_object_file_p(void)
Definition cgraph.h:3106
bool can_increase_alignment_p()
Definition symtab.cc:2477
unsigned ifunc_resolver
Definition cgraph.h:644
Definition symtab-thunks.h:36
Definition gengtype-parse.cc:40
enum toplevel_type type
Definition cgraph.h:127
toplevel_node * next
Definition cgraph.h:120
int order
Definition cgraph.h:124
toplevel_node * previous
Definition cgraph.h:121
struct lto_file_decl_data * lto_file_data
Definition cgraph.h:117
toplevel_node(toplevel_type t)
Definition cgraph.h:112
static bool equal(constant_descriptor_tree *, constant_descriptor_tree *)
Definition varasm.cc:3490
static hashval_t hash(constant_descriptor_tree *)
Definition varasm.cc:3367
Definition gengtype.h:252
Definition loop-invariant.cc:78
hash_map< varpool_node *, size_t > * map
Definition cgraph.h:1599
vec< varpool_node * > nodes
Definition cgraph.h:1600
varpool_node_set set
Definition cgraph.h:1613
unsigned index
Definition cgraph.h:1614
bool can_remove_if_no_refs_p(void)
Definition cgraph.h:3497
static void dump_varpool(FILE *f)
Definition varpool.cc:244
void remove_initializer(void)
Definition varpool.cc:192
static varpool_node * create_extra_name_alias(tree alias, tree decl)
Definition varpool.cc:796
void dump(FILE *f)
Definition varpool.cc:210
bool call_for_symbol_and_aliases_1(bool(*callback)(varpool_node *, void *), void *data, bool include_overwritable)
Definition varpool.cc:819
bool externally_visible_p(void)
Definition ipa-visibility.cc:265
void analyze(void)
Definition varpool.cc:522
static varpool_node * create_empty(void)
Definition varpool.cc:136
void DEBUG_FUNCTION debug(void)
Definition varpool.cc:237
static varpool_node * get_create(tree decl)
Definition varpool.cc:143
static varpool_node * get_for_asmname(tree asmname)
Definition varpool.cc:263
bool call_for_symbol_and_aliases(bool(*callback)(varpool_node *, void *), void *data, bool include_overwritable)
Definition cgraph.h:3773
unsigned output
Definition cgraph.h:2342
varpool_node()
Definition cgraph.h:2234
varpool_node * ultimate_alias_target(availability *availability=NULL, symtab_node *ref=NULL)
Definition cgraph.h:3594
static varpool_node * create_alias(tree, tree)
Definition varpool.cc:776
static void add(tree decl)
Definition varpool.cc:474
tree get_constructor(void)
Definition varpool.cc:275
varpool_node * get_alias_target(void)
Definition cgraph.h:3545
static varpool_node * get(const_tree decl)
Definition cgraph.h:3118
bool assemble_decl(void)
Definition varpool.cc:564
bool all_refs_explicit_p()
Definition cgraph.h:3516
void assemble_aliases(void)
Definition varpool.cc:544
static void finalize_decl(tree decl)
Definition cgraphunit.cc:968
availability get_availability(symtab_node *ref=NULL)
Definition varpool.cc:489
enum tls_model tls_model
Definition cgraph.h:2348
bool ctor_useable_for_folding_p(void)
Definition varpool.cc:319
void remove(void)
Definition varpool.cc:172
unsigned dynamically_initialized
Definition cgraph.h:2346
unsigned used_by_single_function
Definition cgraph.h:2354
static void DEBUG_FUNCTION debug_varpool(void)
Definition varpool.cc:256
void finalize_named_section_flags(void)
Definition varpool.cc:719
#define NULL
Definition system.h:50
#define gcc_assert(EXPR)
Definition system.h:817
#define gcc_unreachable()
Definition system.h:844
#define true
Definition system.h:890
#define false
Definition system.h:891
#define DEBUG_FUNCTION
Definition system.h:1239
#define gcc_checking_assert(EXPR)
Definition system.h:824
unsigned short priority_type
Definition tree-core.h:1104
use_type
Definition tree-ssa-loop-ivopts.cc:195
static void mark_address_taken(tree ref)
Definition tree-ssa-operands.cc:619
static unsigned int increase_alignment(void)
Definition tree-vectorizer.cc:1709
#define DECL_ASSEMBLER_NAME(NODE)
Definition tree.h:3331
#define DECL_HAS_VALUE_EXPR_P(NODE)
Definition tree.h:3094
#define DECL_SECTION_NAME(NODE)
Definition tree.h:3368
#define DECL_STATIC_CONSTRUCTOR(NODE)
Definition tree.h:3571
#define TYPE_MAIN_VARIANT(NODE)
Definition tree.h:2384
#define DECL_WEAK(NODE)
Definition tree.h:3298
#define DECL_STATIC_DESTRUCTOR(NODE)
Definition tree.h:3574
#define TREE_CODE(NODE)
Definition tree.h:325
#define DECL_ABSTRACT_P(NODE)
Definition tree.h:2997
#define DECL_COMDAT(NODE)
Definition tree.h:3313
#define opt_for_fn(fndecl, opt)
Definition tree.h:6372
#define DECL_INITIAL(NODE)
Definition tree.h:2917
#define TREE_STATIC(NODE)
Definition tree.h:773
#define DECL_COMMON(NODE)
Definition tree.h:3289
#define DECL_EXTERNAL(NODE)
Definition tree.h:3011
#define TREE_PUBLIC(NODE)
Definition tree.h:863
#define DECL_VIRTUAL_P(NODE)
Definition tree.h:3026
#define VAR_P(NODE)
Definition tree.h:236
#define NULL_TREE
Definition tree.h:318
#define DECL_P(NODE)
Definition tree.h:232
static bool set_implicit_section(struct symtab_node *n, void *data)
Definition varasm.cc:476
constexpr vnull vNULL
Definition vec.h:569