26#include "plugin-api.h"
105struct GTY((desc (
"%h.type"), tag (
"SYMTAB_SYMBOL"),
115 transparent_alias (
false), weakref (
false), cpp_implicit_alias (
false),
117 refuse_visibility_changes (
false), externally_visible (
false),
121 used_from_other_partition (
false), in_other_partition (
false),
122 address_taken (
false), in_init_priority_hash (
false),
123 need_lto_streaming (
false), offloadable (
false), ifunc_resolver (
false),
124 order (
false), next_sharing_asm_name (
NULL),
125 previous_sharing_asm_name (
NULL), same_comdat_group (
NULL), ref_list (),
131 const char *name ()
const;
134 const char *dump_name ()
const;
137 const char *asm_name ()
const;
140 const char *dump_asm_name ()
const;
143 const char *get_visibility_string ()
const;
146 const char *get_symtab_type_string ()
const;
150 void register_symbol (
void);
162 void dump_graphviz (
FILE *f);
202 unsigned int lto_stmt_uid,
206 void remove_stmt_references (
gimple *stmt);
212 void clear_stmts_in_references (
void);
215 void remove_all_references (
void);
218 void remove_all_referring (
void);
221 void dump_references (
FILE *file);
224 void dump_referring (
FILE *);
227 inline unsigned num_references (
void)
243 bool semantically_equivalent_p (
symtab_node *target);
249 tree get_comdat_group ()
251 return x_comdat_group;
255 tree get_comdat_group_id ()
257 if (x_comdat_group &&
TREE_CODE (x_comdat_group) != IDENTIFIER_NODE)
259 return x_comdat_group;
267 x_comdat_group = group;
275 return x_section->
name;
279 void remove_from_same_comdat_group (
void);
282 void add_to_same_comdat_group (
symtab_node *old_node);
285 void dissolve_same_comdat_group_list (
void);
289 bool used_from_object_file_p (
void);
310 void fixup_same_cpp_alias_visibility (
symtab_node *target);
315 bool call_for_symbol_and_aliases (
bool (*callback) (
symtab_node *,
void *),
328 inline tree get_alias_target_tree ();
331 void set_section (
const char *
section);
339 void set_section_for_node (
const char *
section);
343 void set_section_for_node (
const symtab_node &other);
356 bool prevailing_p (
void);
364 void make_decl_local (
void);
373 unsigned int definition_alignment ();
376 bool can_increase_alignment_p ();
382 bool has_aliases_p (
void);
386 bool real_symbol_p (
void);
389 bool output_to_lto_symbol_table_p (
void);
394 bool needed_p (
void);
398 bool native_rtl_p ()
const;
410 can_be_discarded_p (
void)
413 && !in_other_partition)
414 || ((get_comdat_group ()
426 inline bool comdat_local_p (
void)
432 inline bool in_same_comdat_group_p (
symtab_node *target);
435 bool nonzero_address ();
449 bool address_matters_p ();
454 bool address_can_be_compared_p (
void);
471 return decl->decl_with_vis.symtab_node;
483 static void check_ifunc_callee_symtab_nodes (
void);
489 static inline void checking_verify_symtab_nodes (
void);
501 unsigned definition : 1;
526 unsigned transparent_alias : 1;
528 unsigned weakref : 1;
535 unsigned cpp_implicit_alias : 1;
540 unsigned analyzed : 1;
542 unsigned writeonly : 1;
545 unsigned refuse_visibility_changes : 1;
550 unsigned externally_visible : 1;
552 unsigned no_reorder : 1;
555 unsigned force_output : 1;
559 unsigned forced_by_abi : 1;
561 unsigned unique_name : 1;
564 unsigned implicit_section : 1;
567 unsigned body_removed : 1;
569 unsigned semantic_interposition : 1;
576 unsigned used_from_other_partition : 1;
580 unsigned in_other_partition : 1;
587 unsigned address_taken : 1;
589 unsigned in_init_priority_hash : 1;
593 unsigned need_lto_streaming : 1;
596 unsigned offloadable : 1;
599 unsigned ifunc_resolver : 1;
648 void dump_base (
FILE *);
663 bool call_for_symbol_and_aliases_1 (
bool (*callback) (
symtab_node *,
void *),
668 static bool set_section_from_string (
symtab_node *n,
void *s);
669 static bool set_section_from_node (
symtab_node *n,
void *
o);
682 const char *get_dump_name (
bool asm_name_p)
const;
693#define FOR_EACH_ALIAS(NODE, ALIAS) \
694 for (unsigned ALIAS##_iter_ = 0; \
695 (NODE)->iterate_direct_aliases (ALIAS##_iter_, ALIAS); \
717 unsigned force_load_ref : 1;
775 unsigned int alignment;
803 machine_mode mask_mode;
808 unsigned char vecsize_mangle;
812 unsigned int inbranch : 1;
845 tree dispatcher_resolver;
848#define DEFCIFCODE(code, type, string) CIF_ ## code,
852#include "cif-code.def"
883 indirect_calls (
NULL),
884 next_sibling_clone (
NULL), prev_sibling_clone (
NULL), clones (
NULL),
885 clone_of (
NULL), call_site_hash (
NULL), former_clone_of (
NULL),
886 simdclone (
NULL), simd_clones (
NULL), ipa_transforms_to_apply (
vNULL),
890 unit_id (0), tp_first_run (0), thunk (
false),
891 used_as_abstract_origin (
false),
893 only_called_at_startup (
false), only_called_at_exit (
false),
894 tm_clone (
false), dispatcher_function (
false), calls_comdat_local (
false),
896 merged_extern_inline (
false), parallelized_function (
false),
898 versionable (
false), can_change_signature (
false),
899 redefined_extern_inline (
false), tm_may_enter_irr (
false),
900 ipcp_clone (
false), declare_variant_alt (
false),
901 calls_declare_variant_alt (
false), gc_candidate (
false),
902 called_by_ifunc_resolver (
false),
903 m_uid (uid), m_summary_id (-1)
914 void record_stmt_references (
gimple *stmt);
964 const char *suffix =
NULL);
976 void remove_from_clone_tree ();
998 const char *suffix =
NULL);
1042 void analyze (
void);
1069 void expand_all_artificial_thunks ();
1072 void assemble_thunks_and_aliases (
void);
1088 void dump (
FILE *f);
1091 void dump_graphviz (
FILE *f);
1098 bool get_untransformed_body ();
1105 void materialize_clone (
void);
1117 void make_local (
void);
1143 void create_edge_including_clones (
cgraph_node *callee,
1157 void remove_callers (
void);
1160 void remove_callees (
void);
1168 bool set_nothrow_flag (
bool nothrow);
1172 bool set_malloc_flag (
bool malloc_p);
1176 bool set_noreturn_flag (
bool noreturn_p);
1187 bool set_const_flag (
bool set_const,
bool looping);
1195 bool set_pure_flag (
bool pure,
bool looping);
1199 bool add_detected_attribute (
const char *attr);
1205 bool call_for_symbol_and_aliases (
bool (*callback) (
cgraph_node *,
1213 bool call_for_symbol_thunks_and_aliases (
bool (*callback) (
cgraph_node *node,
1221 inline void mark_force_output (
void);
1224 bool local_p (
void);
1230 bool can_be_local_p (
void);
1234 bool cannot_return_p (
void);
1240 bool only_called_directly_p (
void);
1245 inline bool only_called_directly_or_aliased_p (
void);
1263 bool will_be_removed_from_program_if_no_direct_calls_p
1269 bool can_remove_if_no_direct_calls_and_refs_p (
void);
1275 bool can_remove_if_no_direct_calls_p (
bool will_inline =
false);
1282 inline bool has_gimple_body_p (
void);
1285 bool former_thunk_p (
void);
1289 bool check_calls_comdat_local_p ();
1295 static void dump_cgraph (
FILE *f);
1299 void debug_cgraph (
void)
1305 inline int get_uid ()
1311 inline int get_summary_id ()
1313 return m_summary_id;
1322 static void delete_function_version_by_decl (
tree decl);
1335 static void add_new_function (
tree fndecl,
bool lowered);
1348 static void finalize_function (
tree,
bool);
1378 static inline void checking_verify_cgraph_nodes (
void);
1381 static bool make_local (
cgraph_node *node,
void *);
1404 tree former_clone_of;
1427 int count_materialization_scale;
1429 unsigned int profile_id;
1439 unsigned used_as_abstract_origin : 1;
1441 unsigned lowered : 1;
1444 unsigned process : 1;
1449 unsigned only_called_at_startup : 1;
1451 unsigned only_called_at_exit : 1;
1456 unsigned tm_clone : 1;
1458 unsigned dispatcher_function : 1;
1461 unsigned calls_comdat_local : 1;
1463 unsigned icf_merged: 1;
1467 unsigned nonfreeing_fn : 1;
1469 unsigned merged_comdat : 1;
1471 unsigned merged_extern_inline : 1;
1473 unsigned parallelized_function : 1;
1475 unsigned split_part : 1;
1477 unsigned indirect_call_target : 1;
1482 unsigned versionable : 1;
1485 unsigned can_change_signature : 1;
1488 unsigned redefined_extern_inline : 1;
1490 unsigned tm_may_enter_irr : 1;
1492 unsigned ipcp_clone : 1;
1495 unsigned declare_variant_alt : 1;
1497 unsigned calls_declare_variant_alt : 1;
1501 unsigned gc_candidate : 1;
1503 unsigned called_by_ifunc_resolver : 1;
1513 bool call_for_symbol_and_aliases_1 (
bool (*callback) (
cgraph_node *,
1567 unsigned maybe_in_construction : 1;
1569 unsigned maybe_derived_type : 1;
1572 unsigned speculative_maybe_derived_type : 1;
1575 unsigned invalid : 1;
1577 unsigned dynamic : 1;
1599 void clear_speculation ();
1603 void clear_outer_type (
tree otr_type =
NULL);
1615 bool restrict_to_inner_class (
tree otr_type,
1623 void possible_dynamic_type_change (
bool,
tree otr_type =
NULL);
1632 bool useless_p ()
const;
1651 void make_speculative (
tree otr_type =
NULL);
1674 unsigned num_speculative_call_targets : 16;
1678 unsigned polymorphic : 1;
1681 unsigned agg_contents : 1;
1683 unsigned member_ptr : 1;
1686 unsigned by_ref : 1;
1691 unsigned guaranteed_unmodified : 1;
1694 unsigned vptr_changed : 1;
1722 void redirect_callee_duplicating_thunks (
cgraph_node *n);
1736 unsigned int speculative_id = 0);
1787 true; e2 = e2->next_callee)
1789 && call_stmt == e2->call_stmt
1790 && lto_stmt_uid == e2->lto_stmt_uid)
1803 ipa_ref *speculative_call_target_ref ()
1808 for (
unsigned int i = 0; caller->iterate_reference (
i, ref);
i++)
1864 bool verify_count ();
1869 bool cannot_lead_to_return_p (
void);
1872 bool recursive_p (
void);
1875 bool maybe_hot_p (
void);
1878 inline int get_uid ()
1884 inline int get_summary_id ()
1886 return m_summary_id;
1891 static unsigned int rebuild_edges (
void);
1895 static void rebuild_references (
void);
1899 bool possibly_call_in_translation_unit_p (
void);
1902 int num_speculative_call_targets_p (
void);
1922 unsigned int lto_stmt_uid;
1925 unsigned int speculative_id : 16;
1927 unsigned int indirect_inlining_edge : 1;
1930 unsigned int indirect_unknown_callee : 1;
1933 unsigned int call_stmt_cannot_inline_p : 1;
1953 unsigned int speculative : 1;
1956 unsigned in_polymorphic_cdtor : 1;
1959 bool binds_to_current_def_p ();
1976 void remove_caller (
void);
1979 void remove_callee (
void);
1986 void dump_edge_flags (
FILE *f);
1996#define CGRAPH_FREQ_BASE 1000
1997#define CGRAPH_FREQ_MAX 100000
2011 void dump (
FILE *f);
2020 void remove_initializer (
void);
2022 void analyze (
void);
2029 tree get_constructor (
void);
2032 bool ctor_useable_for_folding_p (
void);
2046 bool assemble_decl (
void);
2052 void finalize_named_section_flags (
void);
2057 bool call_for_symbol_and_aliases (
bool (*callback) (
varpool_node *,
void *),
2062 bool externally_visible_p (
void);
2069 inline bool all_refs_explicit_p ();
2073 inline bool can_remove_if_no_refs_p (
void);
2087 static void finalize_decl (
tree decl);
2098 static void dump_varpool (
FILE *f);
2113 unsigned output : 1;
2117 unsigned dynamically_initialized : 1;
2125 unsigned used_by_single_function : 1;
2129 void assemble_aliases (
void);
2132 bool call_for_symbol_and_aliases_1 (
bool (*callback) (
varpool_node *,
void *),
2233 cgraph_count (0), cgraph_max_uid (1), cgraph_max_summary_id (0),
2234 edges_count (0), edges_max_uid (1), edges_max_summary_id (0),
2235 cgraph_released_summary_ids (), edge_released_summary_ids (),
2238 function_flags_ready (
false), cpp_implicit_aliases_done (
false),
2239 section_hash (
NULL), assembler_name_hash (
NULL), init_priority_hash (
NULL),
2242 m_first_edge_removal_hook (
NULL), m_first_cgraph_removal_hook (
NULL),
2243 m_first_edge_duplicated_hook (
NULL), m_first_cgraph_duplicated_hook (
NULL),
2244 m_first_cgraph_insertion_hook (
NULL), m_first_varpool_insertion_hook (
NULL),
2245 m_first_varpool_removal_hook (
NULL)
2250 void initialize (
void);
2256 void finalize_compilation_unit (
void);
2263 void process_same_body_aliases (
void);
2266 void compile (
void);
2271 void process_new_functions (
void);
2277 clear_asm_symbols (
void)
2280 asm_last_node =
NULL;
2284 bool remove_unreachable_nodes (
FILE *file);
2290 void remove_unreferenced_decls (
void);
2302 bool output_variables (
void);
2306 void output_weakrefs (
void);
2313 first_asm_symbol (
void)
2340 inline cgraph_node *first_defined_function (
void);
2352 cgraph_node *first_function_with_gimple_body (
void);
2409 void call_cgraph_insertion_hooks (
cgraph_node *node);
2412 void call_cgraph_removal_hooks (
cgraph_node *node);
2424 void call_varpool_insertion_hooks (
varpool_node *node);
2427 void symtab_prevail_in_asm_name_hash (
symtab_node *node);
2430 void symtab_initialize_asm_name_hash (
void);
2436 void dump (
FILE *f);
2439 void dump_graphviz (
FILE *f);
2447 if (!cgraph_released_summary_ids.is_empty ())
2448 node->
m_summary_id = cgraph_released_summary_ids.pop ();
2458 if (!edge_released_summary_ids.is_empty ())
2459 edge->m_summary_id = edge_released_summary_ids.pop ();
2461 edge->m_summary_id = edges_max_summary_id++;
2463 return edge->m_summary_id;
2468 static bool assembler_names_equal_p (
const char *name1,
const char *name2);
2472 int cgraph_max_summary_id;
2476 int edges_max_summary_id;
2485 static char symbol_suffix_separator ();
2500 bool global_info_ready;
2504 bool function_flags_ready;
2506 bool cpp_implicit_aliases_done;
2617 unsigned long number);
2619 unsigned long number);
2628 const char *suffix);
2653 if (transparent_alias && definition)
2658 if (
cnode->inlined_to)
2682 source =
cn->inlined_to;
2687 target =
cn->inlined_to;
2699 iterate_reference (0, ref);
2711 return alias_target;
2712 return get_alias_target ()->
decl;
2723 if (
node1->definition)
2769 return (iterate_direct_aliases (0, ref) !=
NULL);
2818 node->
order = order++;
2830 node->
order = order++;
2833 if (asmnodes ==
NULL)
2836 asm_last_node->
next = node;
2838 asm_last_node = node;
2865 cgraph_released_summary_ids.safe_push (node->
m_summary_id);
2877#define FOR_EACH_SYMBOL(node) \
2878 for ((node) = symtab->first_symbol (); (node); (node) = (node)->next)
2886 for (node = nodes; node; node = node->
next)
2894#define FOR_EACH_DEFINED_SYMBOL(node) \
2895 for ((node) = symtab->first_defined_symbol (); (node); \
2896 (node) = node->next_defined_symbol ())
2903 for (node = nodes; node; node = node->
next)
2920#define FOR_EACH_VARIABLE(node) \
2921 for ((node) = symtab->first_variable (); \
2923 (node) = symtab->next_variable ((node)))
2930 for (node = nodes; node; node = node->
next)
2954#define FOR_EACH_STATIC_INITIALIZER(node) \
2955 for ((node) = symtab->first_static_initializer (); (node); \
2956 (node) = symtab->next_static_initializer (node))
2963 for (node = nodes; node; node = node->
next)
2986#define FOR_EACH_DEFINED_VARIABLE(node) \
2987 for ((node) = symtab->first_defined_variable (); (node); \
2988 (node) = symtab->next_defined_variable (node))
2995 for (node = nodes; node; node = node->
next)
2998 if (
cn &&
cn->definition)
3012 if (
cn1 &&
cn1->definition)
3019#define FOR_EACH_DEFINED_FUNCTION(node) \
3020 for ((node) = symtab->first_defined_function (); (node); \
3021 (node) = symtab->next_defined_function ((node)))
3028 for (node = nodes; node; node = node->
next)
3050 for (node = nodes; node; node = node->
next)
3053 if (
cn &&
cn->has_gimple_body_p ())
3067 if (
cn1 &&
cn1->has_gimple_body_p ())
3074#define FOR_EACH_FUNCTION(node) \
3075 for ((node) = symtab->first_function (); (node); \
3076 (node) = symtab->next_function ((node)))
3087 return definition && !thunk && !alias;
3091#define FOR_EACH_FUNCTION_WITH_GIMPLE_BODY(node) \
3092 for ((node) = symtab->first_function_with_gimple_body (); (node); \
3093 (node) = symtab->next_function_with_gimple_body (node))
3120 return (!force_output && !address_taken
3122 && !used_from_other_partition
3126 && !used_from_object_file_p ()
3127 && !externally_visible);
3141 if (force_output || used_from_other_partition)
3147 if (externally_visible
3150 || used_from_object_file_p ()))
3172 return (!force_output && !used_from_other_partition
3175 && !used_from_object_file_p ())
3176 || !externally_visible
3189 && !externally_visible
3190 && !used_from_other_partition
3311 callee->
callers = next_caller;
3408 if (callback (
this,
data))
3411 if (has_aliases_p ())
3429 if (callback (
this,
data))
3432 if (has_aliases_p ())
3450 if (callback (
this,
data))
3453 if (has_aliases_p ())
3469 return referred->address_can_be_compared_p ();
3486 clear_speculation ();
3487 clear_outer_type ();
3496 speculative_outer_type =
NULL;
3497 speculative_offset = 0;
3498 speculative_maybe_derived_type =
false;
3509 maybe_derived_type =
true;
3510 maybe_in_construction =
true;
3521 if (speculative_outer_type)
3522 speculative_offset += off;
3530 return (!outer_type && !speculative_outer_type);
3567 || previous_sharing_asm_name ==
NULL);
static void free_edge(function *fn, edge e)
Definition cfg.cc:91
void cgraph_update_edges_for_call_stmt(gimple *old_stmt, tree old_decl, gimple *new_stmt)
Definition cgraph.cc:1705
bool cgraph_function_possibly_inlined_p(tree decl)
Definition cgraph.cc:2363
symbol_table * symtab
Definition cgraph.cc:81
cgraph_inline_failed_type_t cgraph_inline_failed_type(cgraph_inline_failed_t reason)
Definition cgraph.cc:2066
cgraph_indirect_call_info * cgraph_allocate_init_indirect_info(void)
Definition cgraph.cc:973
void release_function_body(tree decl)
Definition cgraph.cc:1795
symbol_table * saved_symtab
Definition cgraph.cc:4295
void cgraph_cc_finalize(void)
Definition cgraph.cc:4163
const char * cgraph_inline_failed_string(cgraph_inline_failed_t reason)
Definition cgraph.cc:2048
symtab_state
Definition cgraph.h:2184
@ LTO_STREAMING
Definition cgraph.h:2190
@ IPA
Definition cgraph.h:2192
@ PARSING
Definition cgraph.h:2186
@ EXPANSION
Definition cgraph.h:2199
@ IPA_SSA_AFTER_INLINING
Definition cgraph.h:2197
@ FINISHED
Definition cgraph.h:2201
@ IPA_SSA
Definition cgraph.h:2194
@ CONSTRUCTION
Definition cgraph.h:2188
const char * cgraph_inline_failed_string(cgraph_inline_failed_t)
Definition cgraph.cc:2048
void(* cgraph_edge_hook)(cgraph_edge *, void *)
Definition cgraph.h:2165
const char * xstrdup_for_dump(const char *transient_str)
Definition cgraph.h:3553
void debuginfo_early_stop(void)
Definition cgraphunit.cc:2523
void debuginfo_start(void)
Definition cgraphunit.cc:2499
void(* cgraph_node_hook)(cgraph_node *, void *)
Definition cgraph.h:2166
tree ctor_for_folding(tree)
Definition varpool.cc:397
struct varpool_node_set_def * varpool_node_set
Definition cgraph.h:1525
cgraph_inline_failed_type_t cgraph_inline_failed_type(cgraph_inline_failed_t)
Definition cgraph.cc:2066
bool ipa_discover_variable_flags(void)
Definition ipa.cc:777
void symtab_thunks_cc_finalize(void)
Definition symtab-thunks.cc:663
void release_function_body(tree)
Definition cgraph.cc:1795
void(* cgraph_2node_hook)(cgraph_node *, cgraph_node *, void *)
Definition cgraph.h:2169
int compute_call_stmt_bb_frequency(tree, basic_block bb)
Definition cgraphbuild.cc:203
void debuginfo_early_init(void)
Definition cgraphunit.cc:2459
cgraph_inline_failed_type_t
Definition cgraph.h:855
@ CIF_FINAL_NORMAL
Definition cgraph.h:856
@ CIF_FINAL_ERROR
Definition cgraph.h:857
bool speculation_useful_p(struct cgraph_edge *e, bool anticipate_inlining)
Definition ipa-inline.cc:1942
bool cgraph_function_possibly_inlined_p(tree)
Definition cgraph.cc:2363
symbol_table * symtab
Definition cgraph.cc:81
void debuginfo_stop(void)
Definition cgraphunit.cc:2507
void record_references_in_initializer(tree, bool)
Definition cgraphbuild.cc:390
cgraph_node_set_def * cgraph_node_set
Definition cgraph.h:1524
basic_block init_lowered_empty_function(tree, bool, profile_count)
Definition cgraphunit.cc:1709
tree clone_function_name_numbered(const char *name, const char *suffix)
Definition cgraphclones.cc:491
void tree_function_versioning(tree, tree, vec< ipa_replace_map *, va_gc > *, ipa_param_adjustments *, bool, bitmap, basic_block)
Definition tree-inline.cc:6241
symtab_type
Definition cgraph.h:43
@ SYMTAB_FUNCTION
Definition cgraph.h:45
@ SYMTAB_SYMBOL
Definition cgraph.h:44
@ SYMTAB_VARIABLE
Definition cgraph.h:46
hash_table< tree_descriptor_hasher > * constant_pool_htab(void)
Definition varasm.cc:3129
void(* cgraph_2edge_hook)(cgraph_edge *, cgraph_edge *, void *)
Definition cgraph.h:2168
void dump_callgraph_transformation(const cgraph_node *original, const cgraph_node *clone, const char *suffix)
Definition cgraphclones.cc:311
bool decl_is_tm_clone(const_tree fndecl)
Definition cgraph.h:3337
void cgraphunit_cc_finalize(void)
Definition cgraphunit.cc:2598
tree clone_function_name(const char *name, const char *suffix, unsigned long number)
Definition cgraphclones.cc:522
cgraph_indirect_call_info * cgraph_allocate_init_indirect_info(void)
Definition cgraph.cc:973
void cgraph_build_static_cdtor(char which, tree body, int priority)
Definition ipa.cc:930
availability
Definition cgraph.h:69
@ AVAIL_UNSET
Definition cgraph.h:71
@ AVAIL_LOCAL
Definition cgraph.h:87
@ AVAIL_NOT_AVAILABLE
Definition cgraph.h:73
@ AVAIL_INTERPOSABLE
Definition cgraph.h:79
@ AVAIL_AVAILABLE
Definition cgraph.h:82
void debuginfo_early_start(void)
Definition cgraphunit.cc:2515
int tp_first_run_node_cmp(const void *pa, const void *pb)
Definition cgraphunit.cc:1926
void debuginfo_fini(void)
Definition cgraphunit.cc:2488
symbol_partitioning_class
Definition cgraph.h:92
@ SYMBOL_EXTERNAL
Definition cgraph.h:95
@ SYMBOL_PARTITION
Definition cgraph.h:97
@ SYMBOL_DUPLICATE
Definition cgraph.h:100
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
const char *const cgraph_availability_names[]
Definition cgraph.cc:2082
bool decl_in_symtab_p(const_tree decl)
Definition cgraph.h:2664
ipa_opt_pass_d * ipa_opt_pass
Definition cgraph.h:38
void cgraph_update_edges_for_call_stmt(gimple *, tree, gimple *)
Definition cgraph.cc:1705
function_summary< thunk_info * > thunk_summary
Definition cgraph.h:2216
const char *const ld_plugin_symbol_resolution_names[]
Definition symtab.cc:45
symbol_table * saved_symtab
Definition cgraph.cc:4295
const char *const tls_model_names[]
Definition varpool.cc:40
cgraph_simd_clone_arg_type
Definition cgraph.h:719
@ SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP
Definition cgraph.h:723
@ SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP
Definition cgraph.h:728
@ SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP
Definition cgraph.h:732
@ SIMD_CLONE_ARG_TYPE_VECTOR
Definition cgraph.h:720
@ SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP
Definition cgraph.h:730
@ SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP
Definition cgraph.h:729
@ SIMD_CLONE_ARG_TYPE_LINEAR_VARIABLE_STEP
Definition cgraph.h:724
@ SIMD_CLONE_ARG_TYPE_MASK
Definition cgraph.h:733
@ SIMD_CLONE_ARG_TYPE_UNIFORM
Definition cgraph.h:721
@ SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP
Definition cgraph.h:727
@ SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP
Definition cgraph.h:731
void(* varpool_node_hook)(varpool_node *, void *)
Definition cgraph.h:2167
function_summary< clone_info * > clone_summary
Definition cgraph.h:2220
vec< cgraph_node * > cgraph_new_nodes
Definition cgraphunit.cc:217
void cgraph_cc_finalize(void)
Definition cgraph.cc:4163
cgraph_inline_failed_t
Definition cgraph.h:849
@ CIF_N_REASONS
Definition cgraph.h:851
void debuginfo_init(void)
Definition cgraphunit.cc:2475
bool resolution_used_from_other_file_p(enum ld_plugin_symbol_resolution resolution)
Definition cgraph.h:2773
ipa_ref * speculative_call_target_ref()
Definition cgraph.h:1800
cgraph_edge * speculative_call_indirect_edge()
Definition cgraph.h:1778
unsigned int indirect_inlining_edge
Definition cgraph.h:1924
void remove_caller(void)
Definition cgraph.cc:1033
profile_count count
Definition cgraph.h:1902
cgraph_node * callee
Definition cgraph.h:1904
static cgraph_edge * set_call_stmt(cgraph_edge *e, gcall *new_stmt, bool update_speculative=true)
Definition cgraph.cc:790
void dump_edge_flags(FILE *f)
Definition cgraph.cc:2088
static cgraph_edge * make_direct(cgraph_edge *edge, cgraph_node *callee)
Definition cgraph.cc:1297
bool binds_to_current_def_p()
Definition cgraph.h:3314
cgraph_edge * prev_caller
Definition cgraph.h:1905
cgraph_edge * next_caller
Definition cgraph.h:1906
unsigned int can_throw_external
Definition cgraph.h:1932
static cgraph_edge * resolve_speculation(cgraph_edge *edge, tree callee_decl=NULL)
Definition cgraph.cc:1210
int m_summary_id
Definition cgraph.h:1970
int m_uid
Definition cgraph.h:1967
void redirect_callee(cgraph_node *n)
Definition cgraph.cc:1373
bool maybe_hot_p(void)
Definition cgraph.cc:2986
unsigned in_polymorphic_cdtor
Definition cgraph.h:1953
cgraph_edge * next_speculative_call_target()
Definition cgraph.h:1764
sreal sreal_frequency()
Definition cgraph.cc:4211
unsigned int speculative_id
Definition cgraph.h:1922
cgraph_indirect_call_info * indirect_info
Definition cgraph.h:1912
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:1107
static void rebuild_references(void)
Definition cgraphbuild.cc:451
unsigned int call_stmt_cannot_inline_p
Definition cgraph.h:1930
int get_summary_id()
Definition cgraph.h:1881
int num_speculative_call_targets_p(void)
Definition cgraph.cc:4257
void set_callee(cgraph_node *n)
Definition cgraph.h:3275
unsigned int lto_stmt_uid
Definition cgraph.h:1919
void DEBUG_FUNCTION debug(void)
Definition cgraph.cc:2112
bool possibly_call_in_translation_unit_p(void)
Definition cgraph.cc:4223
cgraph_edge * speculative_call_for_target(cgraph_node *)
Definition cgraph.cc:1280
cgraph_node * caller
Definition cgraph.h:1903
enum cgraph_inline_failed_t inline_failed
Definition cgraph.h:1916
unsigned int speculative
Definition cgraph.h:1950
void remove_callee(void)
Definition cgraph.h:3300
static void remove(cgraph_edge *edge)
Definition cgraph.cc:1069
static gimple * redirect_call_stmt_to_callee(cgraph_edge *e, hash_set< tree > *killed_ssas=nullptr)
Definition cgraph.cc:1417
bool verify_count()
Definition cgraph.cc:3257
unsigned int indirect_unknown_callee
Definition cgraph.h:1927
int get_uid()
Definition cgraph.h:1875
bool cannot_lead_to_return_p(void)
Definition cgraph.cc:2966
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
bool recursive_p(void)
Definition cgraph.h:3288
int frequency()
Definition cgraph.h:3327
cgraph_edge * first_speculative_call_target()
Definition cgraph.cc:1146
cgraph_edge * next_callee
Definition cgraph.h:1908
void * aux
Definition cgraph.h:1913
gcall * call_stmt
Definition cgraph.h:1909
bool verify_corresponds_to_fndecl(tree decl)
Definition cgraph.cc:3291
cgraph_edge * prev_callee
Definition cgraph.h:1907
void redirect_callee_duplicating_thunks(cgraph_node *n)
Definition cgraphclones.cc:275
HOST_WIDE_INT otr_token
Definition cgraph.h:1663
tree otr_type
Definition cgraph.h:1665
int ecf_flags
Definition cgraph.h:1669
unsigned agg_contents
Definition cgraph.h:1679
unsigned polymorphic
Definition cgraph.h:1676
unsigned member_ptr
Definition cgraph.h:1681
unsigned guaranteed_unmodified
Definition cgraph.h:1689
unsigned vptr_changed
Definition cgraph.h:1692
HOST_WIDE_INT offset
Definition cgraph.h:1659
int param_index
Definition cgraph.h:1667
unsigned by_ref
Definition cgraph.h:1684
ipa_polymorphic_call_context context
Definition cgraph.h:1661
unsigned num_speculative_call_targets
Definition cgraph.h:1672
Definition lto-streamer.h:746
Definition genoutput.cc:147
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:3514
bool speculation_consistent_p(tree, HOST_WIDE_INT, bool, tree) const
Definition ipa-polymorphic-call.cc:1856
tree outer_type
Definition cgraph.h:1562
unsigned invalid
Definition cgraph.h:1573
unsigned speculative_maybe_derived_type
Definition cgraph.h:1570
HOST_WIDE_INT speculative_offset
Definition cgraph.h:1561
void DEBUG_FUNCTION debug() const
Definition ipa-polymorphic-call.cc:655
unsigned dynamic
Definition cgraph.h:1575
void clear_speculation()
Definition cgraph.h:3491
void clear_outer_type(tree otr_type=NULL)
Definition cgraph.h:3502
unsigned maybe_in_construction
Definition cgraph.h:1565
bool useless_p() const
Definition cgraph.h:3525
ipa_polymorphic_call_context()
Definition cgraph.h:3481
bool meet_with(ipa_polymorphic_call_context, tree otr_type=NULL)
Definition ipa-polymorphic-call.cc:2427
bool set_by_invariant(tree, tree, HOST_WIDE_INT)
Definition ipa-polymorphic-call.cc:760
tree speculative_outer_type
Definition cgraph.h:1563
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:2375
HOST_WIDE_INT offset
Definition cgraph.h:1560
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:1567
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:2971
int order
Definition cgraph.h:2491
varpool_node * first_variable(void)
Definition cgraph.h:2897
cgraph_node * first_defined_function(void)
Definition cgraph.h:2989
void change_decl_assembler_name(tree decl, tree name)
Definition symtab.cc:274
varpool_node * next_static_initializer(varpool_node *node)
Definition cgraph.h:2938
hash_table< asmname_hasher > * assembler_name_hash
Definition cgraph.h:2509
void free_edge(cgraph_edge *e)
Definition cgraph.cc:1055
vec< int > edge_released_summary_ids
Definition cgraph.h:2479
int assign_summary_id(cgraph_edge *edge)
Definition cgraph.h:2453
cgraph_2edge_hook_list * add_edge_duplication_hook(cgraph_2edge_hook hook, void *data)
Definition cgraph.cc:422
static char symbol_suffix_separator()
Definition symtab.cc:2554
void remove_cgraph_duplication_hook(cgraph_2node_hook_list *entry)
Definition cgraph.cc:480
void DEBUG_FUNCTION debug(void)
Definition symtab.cc:1053
varpool_node_hook_list * m_first_varpool_insertion_hook
Definition cgraph.h:2563
static bool decl_assembler_name_equal(tree decl, const_tree asmname)
Definition symtab.cc:142
symbol_table()
Definition cgraph.h:2229
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:874
symtab_node * first_defined_symbol(void)
Definition cgraph.h:2879
bool global_info_ready
Definition cgraph.h:2497
void clear_asm_symbols(void)
Definition cgraph.h:2274
bool function_flags_ready
Definition cgraph.h:2501
thunk_summary * m_thunks
Definition cgraph.h:2521
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:2553
asm_node * asmnodes
Definition cgraph.h:2485
void call_cgraph_duplication_hooks(cgraph_node *node, cgraph_node *node2)
Definition cgraph.cc:492
int edges_count
Definition cgraph.h:2471
void compile(void)
Definition cgraphunit.cc:2313
static bool assembler_names_equal_p(const char *name1, const char *name2)
Definition symtab.cc:104
FILE * ipa_clones_dump_file
Definition cgraph.h:2516
cgraph_node * next_defined_function(cgraph_node *node)
Definition cgraph.h:3003
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:327
asm_node * first_asm_symbol(void)
Definition cgraph.h:2310
void release_symbol(cgraph_node *node)
Definition cgraph.h:2858
cgraph_2node_hook_list * m_first_cgraph_duplicated_hook
Definition cgraph.h:2559
cgraph_node_hook_list * add_cgraph_insertion_hook(cgraph_node_hook hook, void *data)
Definition cgraph.cc:393
cgraph_node * next_function(cgraph_node *node)
Definition cgraph.h:3033
hash_table< section_name_hasher > * section_hash
Definition cgraph.h:2506
void output_weakrefs(void)
Definition cgraphunit.cc:2283
bool remove_unreachable_nodes(FILE *file)
Definition ipa.cc:310
void remove_cgraph_insertion_hook(cgraph_node_hook_list *entry)
Definition cgraph.cc:410
void unregister(symtab_node *node)
Definition cgraph.h:2841
cgraph_2node_hook_list * add_cgraph_duplication_hook(cgraph_2node_hook hook, void *data)
Definition cgraph.cc:463
void process_same_body_aliases(void)
Definition cgraphunit.cc:717
varpool_node_hook_list * m_first_varpool_removal_hook
Definition cgraph.h:2565
cgraph_node_hook_list * add_cgraph_removal_hook(cgraph_node_hook hook, void *data)
Definition cgraph.cc:339
clone_summary * m_clones
Definition cgraph.h:2524
hash_set< const cgraph_node * > cloned_nodes
Definition cgraph.h:2518
void initialize(void)
Definition cgraph.cc:278
cgraph_node * next_function_with_gimple_body(cgraph_node *node)
Definition cgraph.h:3058
int cgraph_max_summary_id
Definition cgraph.h:2469
void call_cgraph_insertion_hooks(cgraph_node *node)
Definition cgraph.cc:380
FILE * dump_file
Definition cgraph.h:2514
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:2531
void process_new_functions(void)
Definition cgraphunit.cc:300
void symtab_initialize_asm_name_hash(void)
Definition symtab.cc:260
int cgraph_max_uid
Definition cgraph.h:2468
void dump_graphviz(FILE *f)
Definition symtab.cc:1043
bool cpp_implicit_aliases_done
Definition cgraph.h:2503
cgraph_node_hook_list * m_first_cgraph_removal_hook
Definition cgraph.h:2555
asm_node * finalize_toplevel_asm(tree asm_str)
Definition cgraph.h:2821
cgraph_node * create_empty(void)
Definition cgraph.cc:290
symtab_node * first_symbol(void)
Definition cgraph.h:2868
int cgraph_count
Definition cgraph.h:2467
cgraph_node * first_function(void)
Definition cgraph.h:3022
void call_cgraph_removal_hooks(cgraph_node *node)
Definition cgraph.cc:368
int max_unit
Definition cgraph.h:2494
vec< int > cgraph_released_summary_ids
Definition cgraph.h:2476
enum symtab_state state
Definition cgraph.h:2499
void remove_edge_removal_hook(cgraph_edge_hook_list *entry)
Definition cgraph.cc:315
cgraph_edge_hook_list * add_edge_removal_hook(cgraph_edge_hook hook, void *data)
Definition cgraph.cc:298
varpool_node * first_static_initializer(void)
Definition cgraph.h:2924
int assign_summary_id(cgraph_node *node)
Definition cgraph.h:2442
cgraph_node_hook_list * m_first_cgraph_insertion_hook
Definition cgraph.h:2561
symtab_node * nodes
Definition cgraph.h:2484
void dump(FILE *f)
Definition symtab.cc:1034
void register_symbol(symtab_node *node)
Definition cgraph.h:2806
void call_varpool_insertion_hooks(varpool_node *node)
Definition varpool.cc:123
varpool_node * first_defined_variable(void)
Definition cgraph.h:2957
int edges_max_uid
Definition cgraph.h:2472
void remove_cgraph_removal_hook(cgraph_node_hook_list *entry)
Definition cgraph.cc:356
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:2557
cgraph_node * first_function_with_gimple_body(void)
Definition cgraph.h:3044
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:451
void remove_edge_duplication_hook(cgraph_2edge_hook_list *entry)
Definition cgraph.cc:439
varpool_node * next_variable(varpool_node *node)
Definition cgraph.h:2908
void unlink_from_assembler_name_hash(symtab_node *node, bool with_clones)
Definition symtab.cc:203
void call_varpool_removal_hooks(varpool_node *node)
Definition varpool.cc:82
asm_node * asm_last_node
Definition cgraph.h:2486
hash_map< symtab_node *, symbol_priority_map > * init_priority_hash
Definition cgraph.h:2512
int edges_max_summary_id
Definition cgraph.h:2473
void remove_unreferenced_decls(void)
Definition varpool.cc:629
bool debug
Definition collect-utils.cc:34
optimize_size_level
Definition coretypes.h:449
@ OPTIMIZE_SIZE_BALANCED
Definition coretypes.h:453
@ OPTIMIZE_SIZE_NO
Definition coretypes.h:451
@ OPTIMIZE_SIZE_MAX
Definition coretypes.h:455
class edge_def * edge
Definition coretypes.h:342
tls_model
Definition coretypes.h:198
@ TLS_MODEL_NONE
Definition coretypes.h:199
node_frequency
Definition coretypes.h:257
@ NODE_FREQUENCY_NORMAL
Definition coretypes.h:265
@ NODE_FREQUENCY_UNLIKELY_EXECUTED
Definition coretypes.h:260
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
static struct string2counter_map map[debug_counter_number_of_counters]
Definition dbgcnt.cc:39
FILE * dump_file
Definition dumpfile.cc:62
bool can_throw_external(const_rtx insn)
Definition except.cc:1888
void change_decl_assembler_name(tree, tree)
static type_p type(options_p *optsp, bool nested)
Definition gengtype-parse.cc:883
else arg_type
Definition gengtype.cc:620
void ggc_free(void *)
Definition genmatch.cc:42
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
#define ggc_strdup(S)
Definition ggc.h:268
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
Definition dump-context.h:31
section * get_section(const char *, unsigned int, tree, bool not_existing=false)
Definition varasm.cc:289
i
Definition poly-int.h:772
rtx offset
Definition postreload.cc:691
#define REG_BR_PROB_BASE
Definition profile-count.h:73
rtx find_replacement(rtx *loc)
Definition reload.cc:6370
tree asm_str
Definition cgraph.h:2140
int order
Definition cgraph.h:2142
asm_node * next
Definition cgraph.h:2138
static bool equal(symtab_node *n, const_tree t)
Definition cgraph.h:2580
static hashval_t hash(symtab_node *n)
Definition cgraph.h:2573
const_tree compare_type
Definition cgraph.h:2206
Definition basic-block.h:117
static bool equal(cgraph_edge *, gimple *)
Definition cgraph.cc:699
static hashval_t hash(cgraph_edge *)
Definition cgraph.cc:679
gimple * compare_type
Definition cgraph.h:864
cgraph_node * this_node
Definition cgraph.h:825
cgraph_function_version_info * next
Definition cgraph.h:833
cgraph_function_version_info * prev
Definition cgraph.h:829
tree dispatcher_resolver
Definition cgraph.h:843
hash_map< cgraph_node *, size_t > * map
Definition cgraph.h:1520
vec< cgraph_node * > nodes
Definition cgraph.h:1521
cgraph_node_set set
Definition cgraph.h:1540
unsigned index
Definition cgraph.h:1541
static cgraph_node * get(const_tree decl)
Definition cgraph.h:1336
cgraph_edge * indirect_calls
Definition cgraph.h:1393
unsigned only_called_at_startup
Definition cgraph.h:1447
void DEBUG_FUNCTION debug(void)
Definition cgraph.cc:2343
void create_wrapper(cgraph_node *target)
Definition cgraphunit.cc:2613
struct cgraph_rtl_info * rtl
Definition cgraph.h:1419
bool can_remove_if_no_direct_calls_p(bool will_inline=false)
Definition cgraph.cc:3029
static void dump_cgraph(FILE *f)
Definition cgraph.cc:2351
enum node_frequency frequency
Definition cgraph.h:1445
void make_local(void)
Definition cgraph.cc:2525
enum availability get_availability(symtab_node *ref=NULL)
Definition cgraph.cc:2373
unsigned split_part
Definition cgraph.h:1473
unsigned nonfreeing_fn
Definition cgraph.h:1465
bool former_thunk_p(void)
Definition cgraph.cc:4278
void DEBUG_FUNCTION verify_node(void)
Definition cgraph.cc:3481
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:617
int count_materialization_scale
Definition cgraph.h:1425
unsigned int profile_id
Definition cgraph.h:1427
cgraph_edge * create_edge(cgraph_node *callee, gcall *call_stmt, profile_count count, bool cloning_p=false)
Definition cgraph.cc:949
unsigned thunk
Definition cgraph.h:1434
void analyze(void)
Definition cgraphunit.cc:624
cgraph_function_version_info * insert_new_function_version(void)
Definition cgraph.cc:185
bool set_const_flag(bool set_const, bool looping)
Definition cgraph.cc:2853
unsigned tm_clone
Definition cgraph.h:1454
bool can_remove_if_no_direct_calls_and_refs_p(void)
Definition cgraph.h:3131
bool get_body()
Definition cgraph.cc:4103
unsigned lowered
Definition cgraph.h:1439
int unit_id
Definition cgraph.h:1429
int m_uid
Definition cgraph.h:1505
cgraph_edge * callers
Definition cgraph.h:1390
void set_call_stmt_including_clones(gimple *old_stmt, gcall *new_stmt, bool update_speculative=true)
Definition cgraphclones.cc:771
void expand_all_artificial_thunks()
Definition cgraphclones.cc:288
void remove(void)
Definition cgraph.cc:1874
unsigned icf_merged
Definition cgraph.h:1461
cgraph_node * next_sibling_clone
Definition cgraph.h:1394
cgraph_node * find_replacement(struct clone_info *)
Definition cgraphclones.cc:676
void remove_callees(void)
Definition cgraph.cc:1736
static void checking_verify_cgraph_nodes(void)
Definition cgraph.h:3155
cgraph_node * clones
Definition cgraph.h:1396
unsigned can_change_signature
Definition cgraph.h:1483
static void DEBUG_FUNCTION verify_cgraph_nodes(void)
Definition cgraph.cc:3963
cgraph_node * get_alias_target(void)
Definition cgraph.h:3203
bool check_calls_comdat_local_p()
Definition cgraph.cc:4265
static cgraph_node * create_same_body_alias(tree alias, tree decl)
Definition cgraph.cc:592
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:4012
bool has_gimple_body_p(void)
Definition cgraph.h:3082
cgraph_node(int uid)
Definition cgraph.h:879
static void add_new_function(tree fndecl, bool lowered)
Definition cgraphunit.cc:526
static bool has_thunk_p(cgraph_node *node, void *)
Definition cgraph.cc:4200
void remove_from_clone_tree()
Definition cgraphclones.cc:1119
unsigned calls_comdat_local
Definition cgraph.h:1459
cgraph_node * inlined_to
Definition cgraph.h:1417
cgraph_edge * create_indirect_edge(gcall *call_stmt, int ecf_flags, profile_count count, bool cloning_p=false)
Definition cgraph.cc:989
bool local_p(void)
Definition ipa-visibility.cc:111
unsigned declare_variant_alt
Definition cgraph.h:1493
cgraph_node * clone_of
Definition cgraph.h:1397
bool cannot_return_p(void)
Definition cgraph.cc:2950
static void delete_function_version_by_decl(tree decl)
Definition cgraph.cc:222
void dump(FILE *f)
Definition cgraph.cc:2126
priority_type get_fini_priority(void)
Definition symtab.cc:1842
bool set_malloc_flag(bool malloc_p)
Definition cgraph.cc:2620
bool call_for_symbol_and_aliases(bool(*callback)(cgraph_node *, void *), void *data, bool include_overwritable)
Definition cgraph.h:3418
unsigned gc_candidate
Definition cgraph.h:1499
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=NULL)
Definition cgraphclones.cc:369
cgraph_node * function_symbol(enum availability *avail=NULL, struct symtab_node *ref=NULL)
Definition cgraph.cc:3985
struct function * get_fun() const
Definition cgraph.cc:4145
void mark_force_output(void)
Definition cgraph.h:3349
void create_edge_including_clones(cgraph_node *callee, gimple *old_stmt, gcall *stmt, profile_count count, cgraph_inline_failed_t reason)
Definition cgraphclones.cc:831
unsigned only_called_at_exit
Definition cgraph.h:1449
void dump_graphviz(FILE *f)
Definition cgraph.cc:2327
void release_body(bool keep_arguments=false)
Definition cgraph.cc:1837
profile_count count
Definition cgraph.h:1422
static cgraph_node * get_create(tree)
Definition cgraph.cc:535
bool set_nothrow_flag(bool nothrow)
Definition cgraph.cc:2572
cgraph_simd_clone * simdclone
Definition cgraph.h:1406
unsigned called_by_ifunc_resolver
Definition cgraph.h:1501
bool set_noreturn_flag(bool noreturn_p)
Definition cgraph.cc:2715
void expand(void)
Definition cgraphunit.cc:1798
vec< ipa_opt_pass, va_heap, vl_ptr > ipa_transforms_to_apply
Definition cgraph.h:1413
static cgraph_node * create_alias(tree alias, tree target)
Definition cgraph.cc:566
cgraph_edge * callees
Definition cgraph.h:1389
bool remove_symbol_and_inline_clones(cgraph_node *forbidden_node=NULL)
Definition cgraphclones.cc:884
hash_table< cgraph_edge_hasher > * call_site_hash
Definition cgraph.h:1400
unsigned indirect_call_target
Definition cgraph.h:1475
bool call_for_symbol_and_aliases_1(bool(*callback)(cgraph_node *, void *), void *data, bool include_overwritable)
Definition cgraph.cc:4179
bool only_called_directly_p(void)
Definition cgraph.cc:3160
void assemble_thunks_and_aliases(void)
Definition cgraphunit.cc:1755
unsigned ipcp_clone
Definition cgraph.h:1490
cgraph_function_version_info * function_version(void)
Definition cgraph.cc:171
static void finalize_function(tree, bool)
Definition cgraphunit.cc:448
bool can_be_local_p(void)
Definition cgraph.cc:2445
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:2457
unsigned merged_comdat
Definition cgraph.h:1467
unsigned calls_declare_variant_alt
Definition cgraph.h:1495
static cgraph_node * local_info_node(tree decl)
Definition cgraph.cc:2011
void materialize_clone(void)
Definition cgraphclones.cc:1135
unsigned parallelized_function
Definition cgraph.h:1471
static void debug_cgraph(void)
Definition cgraph.h:1297
unsigned versionable
Definition cgraph.h:1480
int m_summary_id
Definition cgraph.h:1508
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 *clone_name, tree target_attributes=NULL_TREE, bool version_decl=true)
Definition cgraphclones.cc:1014
auto_vec< cgraph_edge * > collect_callers(void)
Definition cgraph.cc:3190
cgraph_node * prev_sibling_clone
Definition cgraph.h:1395
cgraph_edge * get_edge(gimple *call_stmt)
Definition cgraph.cc:742
unsigned local
Definition cgraph.h:1478
unsigned process
Definition cgraph.h:1442
void mark_address_taken(void)
Definition cgraph.cc:1987
unsigned redefined_extern_inline
Definition cgraph.h:1486
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:584
static void record_function_versions(tree decl1, tree decl2)
Definition cgraph.cc:237
int tp_first_run
Definition cgraph.h:1431
static cgraph_node * create(tree decl)
Definition cgraph.cc:506
bool will_be_removed_from_program_if_no_direct_calls_p(bool will_inline=false)
Definition cgraph.cc:3101
tree former_clone_of
Definition cgraph.h:1402
bool get_untransformed_body()
Definition cgraph.cc:4034
int get_uid()
Definition cgraph.h:1303
bool only_called_directly_or_aliased_p(void)
Definition cgraph.h:3114
cgraph_node * create_version_clone(tree new_decl, vec< cgraph_edge * > redirect_callers, bitmap bbs_to_copy, const char *suffix=NULL)
Definition cgraphclones.cc:937
cgraph_node * ultimate_alias_target(availability *availability=NULL, symtab_node *ref=NULL)
Definition cgraph.h:3243
static cgraph_node * get_for_asmname(tree asmname)
Definition cgraph.cc:662
cgraph_node * simd_clones
Definition cgraph.h:1408
unsigned merged_extern_inline
Definition cgraph.h:1469
bool add_detected_attribute(const char *attr)
Definition cgraph.cc:2668
int get_summary_id()
Definition cgraph.h:1309
void set_fini_priority(priority_type priority)
Definition symtab.cc:1895
unsigned dispatcher_function
Definition cgraph.h:1456
enum optimize_size_level optimize_for_size_p(void)
Definition cgraph.h:3358
bool set_pure_flag(bool pure, bool looping)
Definition cgraph.cc:2936
void remove_callers(void)
Definition cgraph.cc:1773
unsigned used_as_abstract_origin
Definition cgraph.h:1437
unsigned tm_may_enter_irr
Definition cgraph.h:1488
static struct cgraph_rtl_info * rtl_info(const_tree)
Definition cgraph.cc:2023
unsigned int alignment
Definition cgraph.h:773
tree orig_arg
Definition cgraph.h:742
HOST_WIDE_INT linear_step
Definition cgraph.h:779
enum cgraph_simd_clone_arg_type arg_type
Definition cgraph.h:770
tree orig_type
Definition cgraph.h:746
tree vector_arg
Definition cgraph.h:754
tree vector_type
Definition cgraph.h:757
tree simd_array
Definition cgraph.h:766
cgraph_node * next_clone
Definition cgraph.h:813
poly_uint64 vecsize_int
Definition cgraph.h:793
unsigned int inbranch
Definition cgraph.h:810
poly_uint64 vecsize_float
Definition cgraph.h:796
machine_mode mask_mode
Definition cgraph.h:801
cgraph_simd_clone_arg args[1]
Definition cgraph.h:819
cgraph_node * prev_clone
Definition cgraph.h:813
poly_uint64 simdlen
Definition cgraph.h:786
cgraph_node * origin
Definition cgraph.h:816
unsigned int nargs
Definition cgraph.h:790
unsigned char vecsize_mangle
Definition cgraph.h:806
Definition symtab-clones.h:25
hashval_t hash
Definition cgraph.h:3106
rtx rtl
Definition cgraph.h:3098
tree value
Definition cgraph.h:3101
Definition genautomata.cc:499
Definition function.h:249
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:3458
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:715
tree new_tree
Definition cgraph.h:709
int parm_num
Definition cgraph.h:711
Definition lto-streamer.h:557
Definition lto-streamer.h:699
Definition profile-count.h:750
int to_cgraph_frequency(profile_count entry_bb_count) const
Definition profile-count.cc:305
static profile_count zero()
Definition profile-count.h:798
int ref_count
Definition cgraph.h:54
char * name
Definition cgraph.h:55
const char * compare_type
Definition cgraph.h:62
static hashval_t hash(section_hash_entry *)
Definition symtab.cc:359
static bool equal(section_hash_entry *, const char *)
Definition symtab.cc:367
Definition genautomata.cc:669
priority_type fini
Definition cgraph.h:2180
priority_type init
Definition cgraph.h:2179
static bool set_implicit_section(symtab_node *n, void *)
Definition symtab.cc:1913
unsigned in_init_priority_hash
Definition cgraph.h:587
void dump_graphviz(FILE *f)
Definition symtab.cc:1027
struct lto_file_decl_data * lto_file_data
Definition cgraph.h:634
symtab_node * get_alias_target(void)
Definition cgraph.h:2693
tree get_alias_target_tree()
Definition cgraph.h:2705
unsigned used_from_other_partition
Definition cgraph.h:574
const char * get_visibility_string() const
Definition symtab.cc:875
tree get_comdat_group_id()
Definition cgraph.h:253
tree x_comdat_group
Definition cgraph.h:639
void add_to_same_comdat_group(symtab_node *old_node)
Definition symtab.cc:489
tree alias_target
Definition cgraph.h:631
bool native_rtl_p() const
Definition cgraphunit.cc:227
ipa_ref * iterate_reference(unsigned i, ipa_ref *&ref)
Definition cgraph.h:2729
void dump(FILE *f)
Definition symtab.cc:1018
unsigned weakref
Definition cgraph.h:526
symtab_node * next
Definition cgraph.h:607
unsigned address_taken
Definition cgraph.h:585
bool address_matters_p()
Definition symtab.cc:2442
unsigned definition
Definition cgraph.h:499
static symtab_node * get(const_tree decl)
Definition cgraph.h:456
bool referred_to_p(bool include_self=true)
Definition cgraphunit.cc:422
priority_type get_init_priority()
Definition symtab.cc:1830
unsigned num_references(void)
Definition cgraph.h:225
ipa_ref * clone_reference(ipa_ref *ref, gimple *stmt)
Definition symtab.cc:737
void clone_references(symtab_node *node)
Definition symtab.cc:697
bool output_to_lto_symbol_table_p(void)
Definition symtab.cc:2626
const char * dump_asm_name() const
Definition symtab.cc:593
section_hash_entry * x_section
Definition cgraph.h:642
unsigned externally_visible
Definition cgraph.h:548
static DEBUG_FUNCTION void verify_symtab_nodes(void)
Definition symtab.cc:1467
void copy_visibility_from(symtab_node *n)
Definition symtab.cc:1584
bool has_aliases_p(void)
Definition cgraph.h:2762
struct symbol_priority_map * priority_info(void)
Definition symtab.cc:1855
const char * get_dump_name(bool asm_name_p) const
Definition symtab.cc:574
void unregister(struct clone_info *)
Definition symtab.cc:446
unsigned unique_name
Definition cgraph.h:559
void DEBUG_FUNCTION debug(void)
Definition symtab.cc:1083
void set_section(const char *section)
Definition symtab.cc:1813
const char * get_section() const
Definition cgraph.h:269
unsigned need_lto_streaming
Definition cgraph.h:591
symtab_node * next_defined_symbol(void)
Definition cgraph.h:2715
unsigned cpp_implicit_alias
Definition cgraph.h:533
void set_comdat_group(tree group)
Definition cgraph.h:261
void dump_base(FILE *)
Definition symtab.cc:892
void DEBUG_FUNCTION verify(void)
Definition symtab.cc:1355
bool call_for_symbol_and_aliases_1(bool(*callback)(symtab_node *, void *), void *data, bool include_overwrite)
Definition symtab.cc:2402
const char * name() const
Definition symtab.cc:561
void clear_stmts_in_references(void)
Definition symtab.cc:795
static void check_ifunc_callee_symtab_nodes(void)
Definition symtab.cc:1435
unsigned forced_by_abi
Definition cgraph.h:557
ipa_ref * find_reference(symtab_node *referred_node, gimple *stmt, unsigned int lto_stmt_uid, enum ipa_ref_use use_type)
Definition symtab.cc:755
enum availability get_availability(symtab_node *ref=NULL)
Definition cgraph.h:3385
void set_section_for_node(const char *section)
Definition symtab.cc:1737
symtab_node * ultimate_alias_target_1(enum availability *avail=NULL, symtab_node *ref=NULL)
Definition symtab.cc:1639
void remove_from_same_comdat_group(void)
Definition symtab.cc:423
ipa_ref * maybe_create_reference(tree val, gimple *stmt)
Definition symtab.cc:666
symtab_node * same_comdat_group
Definition cgraph.h:623
void remove_all_references(void)
Definition symtab.cc:819
bool prevailing_p(void)
Definition cgraph.h:3561
unsigned no_reorder
Definition cgraph.h:550
void * aux
Definition cgraph.h:636
int equal_address_to(symtab_node *s2, bool memory_accessed=false)
Definition symtab.cc:2290
unsigned transparent_alias
Definition cgraph.h:524
unsigned implicit_section
Definition cgraph.h:562
bool address_can_be_compared_p(void)
Definition cgraph.cc:149
enum ld_plugin_symbol_resolution resolution
Definition cgraph.h:493
void clone_referring(symtab_node *node)
Definition symtab.cc:717
bool resolve_alias(symtab_node *target, bool transparent=false)
Definition symtab.cc:1925
symtab_node * previous_sharing_asm_name
Definition cgraph.h:620
bool can_be_discarded_p(void)
Definition cgraph.h:408
void remove_stmt_references(gimple *stmt)
Definition symtab.cc:776
unsigned semantic_interposition
Definition cgraph.h:567
static symtab_node * get_for_asmname(const_tree asmname)
Definition symtab.cc:1062
static symtab_node * get_create(tree node)
Definition cgraph.h:3374
unsigned refuse_visibility_changes
Definition cgraph.h:543
ipa_ref * create_reference(symtab_node *referred_node, enum ipa_ref_use use_type)
Definition symtab.cc:603
void dump_references(FILE *file)
Definition symtab.cc:839
enum symbol_partitioning_class get_partitioning_class(void)
Definition symtab.cc:2154
tree decl
Definition cgraph.h:604
void dissolve_same_comdat_group_list(void)
Definition symtab.cc:524
enum symtab_type type
Definition cgraph.h:490
unsigned symver
Definition cgraph.h:535
unsigned alias
Definition cgraph.h:502
symtab_node * previous
Definition cgraph.h:608
void make_decl_local(void)
Definition symtab.cc:1519
bool binds_to_current_def_p(symtab_node *ref=NULL)
Definition symtab.cc:2569
ipa_ref * iterate_direct_aliases(unsigned i, ipa_ref *&ref)
Definition cgraph.h:2749
bool semantically_equivalent_p(symtab_node *target)
Definition symtab.cc:2120
void remove_all_referring(void)
Definition symtab.cc:829
int order
Definition cgraph.h:601
void reset(bool preserve_comdat_group=false)
Definition cgraphunit.cc:389
unsigned offloadable
Definition cgraph.h:594
void fixup_same_cpp_alias_visibility(symtab_node *target)
Definition symtab.cc:1701
bool in_same_comdat_group_p(symtab_node *target)
Definition cgraph.h:2672
const char * dump_name() const
Definition symtab.cc:587
static bool set_section_from_node(symtab_node *n, void *o)
Definition symtab.cc:1803
unsigned writeonly
Definition cgraph.h:540
const char * asm_name() const
Definition symtab.cc:551
unsigned int definition_alignment()
Definition symtab.cc:2543
void dump_referring(FILE *)
Definition symtab.cc:856
unsigned body_removed
Definition cgraph.h:565
symtab_node * noninterposable_alias(void)
Definition symtab.cc:2043
static void checking_verify_symtab_nodes(void)
Definition cgraph.h:684
ipa_ref_list ref_list
Definition cgraph.h:626
bool DEBUG_FUNCTION verify_base(void)
Definition symtab.cc:1100
unsigned force_output
Definition cgraph.h:553
static bool set_section_from_string(symtab_node *n, void *s)
Definition symtab.cc:1793
void register_symbol(void)
Definition symtab.cc:406
tree get_comdat_group()
Definition cgraph.h:247
symtab_node * ultimate_alias_target(enum availability *avail=NULL, struct symtab_node *ref=NULL)
Definition cgraph.h:3223
const char * get_symtab_type_string() const
Definition symtab.cc:884
bool real_symbol_p(void)
Definition cgraph.h:2644
unsigned analyzed
Definition cgraph.h:538
bool nonzero_address()
Definition symtab.cc:2213
void remove(void)
Definition symtab.cc:478
bool call_for_symbol_and_aliases(bool(*callback)(symtab_node *, void *), void *data, bool include_overwrite)
Definition cgraph.h:3397
symtab_node(symtab_type t)
Definition cgraph.h:111
bool comdat_local_p(void)
Definition cgraph.h:424
bool needed_p(void)
Definition cgraphunit.cc:240
unsigned in_other_partition
Definition cgraph.h:578
ipa_ref * iterate_referring(unsigned i, ipa_ref *&ref)
Definition cgraph.h:2739
symtab_node * next_sharing_asm_name
Definition cgraph.h:619
void set_init_priority(priority_type priority)
Definition symtab.cc:1876
bool used_from_object_file_p(void)
Definition cgraph.h:2785
bool can_increase_alignment_p()
Definition symtab.cc:2451
unsigned ifunc_resolver
Definition cgraph.h:597
Definition symtab-thunks.h:36
static bool equal(constant_descriptor_tree *, constant_descriptor_tree *)
Definition varasm.cc:3255
static hashval_t hash(constant_descriptor_tree *)
Definition varasm.cc:3137
Definition gengtype.h:252
Definition loop-invariant.cc:78
hash_map< varpool_node *, size_t > * map
Definition cgraph.h:1533
vec< varpool_node * > nodes
Definition cgraph.h:1534
varpool_node_set set
Definition cgraph.h:1547
unsigned index
Definition cgraph.h:1548
bool can_remove_if_no_refs_p(void)
Definition cgraph.h:3165
static void dump_varpool(FILE *f)
Definition varpool.cc:248
void remove_initializer(void)
Definition varpool.cc:196
static varpool_node * create_extra_name_alias(tree alias, tree decl)
Definition varpool.cc:796
void dump(FILE *f)
Definition varpool.cc:214
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:262
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:241
static varpool_node * get_create(tree decl)
Definition varpool.cc:143
static varpool_node * get_for_asmname(tree asmname)
Definition varpool.cc:267
bool call_for_symbol_and_aliases(bool(*callback)(varpool_node *, void *), void *data, bool include_overwritable)
Definition cgraph.h:3439
unsigned output
Definition cgraph.h:2110
varpool_node()
Definition cgraph.h:2002
varpool_node * ultimate_alias_target(availability *availability=NULL, symtab_node *ref=NULL)
Definition cgraph.h:3260
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:279
varpool_node * get_alias_target(void)
Definition cgraph.h:3211
static varpool_node * get(const_tree decl)
Definition cgraph.h:2797
bool assemble_decl(void)
Definition varpool.cc:564
bool all_refs_explicit_p()
Definition cgraph.h:3183
void assemble_aliases(void)
Definition varpool.cc:544
static void finalize_decl(tree decl)
Definition cgraphunit.cc:964
availability get_availability(symtab_node *ref=NULL)
Definition varpool.cc:489
enum tls_model tls_model
Definition cgraph.h:2116
bool ctor_useable_for_folding_p(void)
Definition varpool.cc:323
void remove(void)
Definition varpool.cc:172
unsigned dynamically_initialized
Definition cgraph.h:2114
unsigned used_by_single_function
Definition cgraph.h:2122
static void DEBUG_FUNCTION debug_varpool(void)
Definition varpool.cc:260
void finalize_named_section_flags(void)
Definition varpool.cc:719
#define NULL
Definition system.h:50
#define gcc_assert(EXPR)
Definition system.h:821
#define gcc_unreachable()
Definition system.h:848
#define false
Definition system.h:895
#define DEBUG_FUNCTION
Definition system.h:1242
#define gcc_checking_assert(EXPR)
Definition system.h:828
unsigned short priority_type
Definition tree-core.h:1020
use_type
Definition tree-ssa-loop-ivopts.cc:194
static void mark_address_taken(tree ref)
Definition tree-ssa-operands.cc:619
static unsigned int increase_alignment(void)
Definition tree-vectorizer.cc:1671
#define DECL_ASSEMBLER_NAME(NODE)
Definition tree.h:3191
#define DECL_HAS_VALUE_EXPR_P(NODE)
Definition tree.h:2954
#define DECL_SECTION_NAME(NODE)
Definition tree.h:3228
#define DECL_STATIC_CONSTRUCTOR(NODE)
Definition tree.h:3427
#define TYPE_MAIN_VARIANT(NODE)
Definition tree.h:2250
#define DECL_WEAK(NODE)
Definition tree.h:3158
#define DECL_STATIC_DESTRUCTOR(NODE)
Definition tree.h:3430
#define TREE_CODE(NODE)
Definition tree.h:324
#define DECL_ABSTRACT_P(NODE)
Definition tree.h:2856
#define DECL_COMDAT(NODE)
Definition tree.h:3173
#define opt_for_fn(fndecl, opt)
Definition tree.h:6166
#define DECL_INITIAL(NODE)
Definition tree.h:2776
#define TREE_STATIC(NODE)
Definition tree.h:772
#define DECL_COMMON(NODE)
Definition tree.h:3149
#define DECL_EXTERNAL(NODE)
Definition tree.h:2870
#define TREE_PUBLIC(NODE)
Definition tree.h:857
#define DECL_VIRTUAL_P(NODE)
Definition tree.h:2885
#define VAR_P(NODE)
Definition tree.h:235
#define NULL_TREE
Definition tree.h:317
#define DECL_P(NODE)
Definition tree.h:231
static bool set_implicit_section(struct symtab_node *n, void *data)
Definition varasm.cc:471
constexpr vnull vNULL
Definition vec.h:569