Lines Matching defs:cgraph_node
812 cgraph_node *prev_clone, *next_clone;
815 cgraph_node *origin;
823 /* The cgraph_node for which the function version info is stored. */
824 cgraph_node *this_node;
838 true, in the cgraph_node struct) for function versions, this
871 Each function decl has assigned cgraph_node listing callees and callers. */
873 struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node
878 explicit cgraph_node (int uid)
907 bool remove_symbol_and_inline_clones (cgraph_node *forbidden_node = NULL);
909 /* Record all references from cgraph_node that are taken
921 /* Walk the alias chain to return the function cgraph_node is alias of.
926 cgraph_node *function_symbol (enum availability *avail = NULL,
929 /* Walk the alias chain to return the function cgraph_node is alias of.
935 cgraph_node *function_or_virtual_thunk_symbol
955 cgraph_node *create_clone (tree decl, profile_count count,
959 cgraph_node *new_inlined_to,
966 cgraph_node *create_virtual_clone (const vec<cgraph_edge *> &redirect_callers,
977 cgraph_node *find_replacement (struct clone_info *);
992 cgraph_node *create_version_clone (tree new_decl,
1023 cgraph_node *create_version_clone_with_body
1031 corresponding to cgraph_node. */
1044 cgraph_node * create_thunk (tree alias, tree, bool this_adjusting,
1053 inline cgraph_node *get_alias_target (void);
1061 cgraph_node *ultimate_alias_target (availability *availability = NULL,
1082 /* Creates a wrapper from cgraph_node to TARGET node. Thunk is used for this
1084 void create_wrapper (cgraph_node *target);
1101 /* When doing LTO, read cgraph_node's body from disk if it is not already
1105 /* Prepare function body. When doing LTO, read cgraph_node's body from disk
1134 cgraph_edge *create_edge (cgraph_node *callee,
1148 void create_edge_including_clones (cgraph_node *callee,
1157 /* Collect all callers of cgraph_node and its aliases that are known to lead
1171 /* Set TREE_NOTHROW on cgraph_node's decl and on aliases of the node
1175 /* SET DECL_IS_MALLOC on cgraph_node's decl and on aliases of the node
1179 /* SET TREE_THIS_VOLATILE on cgraph_node's decl and on aliases of the node
1194 /* Set DECL_PURE_P on cgraph_node's decl and on aliases of the node
1206 bool call_for_symbol_and_aliases (bool (*callback) (cgraph_node *,
1210 /* Call callback on cgraph_node, thunks and aliases associated to NODE.
1214 bool call_for_symbol_thunks_and_aliases (bool (*callback) (cgraph_node *node,
1227 /* Return true if cgraph_node can be made local for API change.
1233 /* Return true when cgraph_node cannot return or throw and thus
1237 /* Return true when function cgraph_node and all its aliases are only called
1248 /* Return true when function cgraph_node can be expected to be removed
1272 /* Return true when function cgraph_node and its aliases can be removed from
1321 /* Remove the cgraph_function_version_info and cgraph_node for DECL. This
1339 static inline cgraph_node *get (const_tree decl)
1342 return dyn_cast <cgraph_node *> (symtab_node::get (decl));
1352 static cgraph_node * create (tree decl);
1356 static cgraph_node * get_create (tree);
1359 static cgraph_node *local_info_node (tree decl);
1366 static cgraph_node *get_for_asmname (tree asmname);
1371 and cgraph_node::get (ALIAS) transparently
1372 returns cgraph_node::get (DECL). */
1373 static cgraph_node * create_same_body_alias (tree alias, tree decl);
1382 static bool make_local (cgraph_node *node, void *);
1386 with (not necessarily cgraph_node (DECL). */
1387 static cgraph_node *create_alias (tree alias, tree target);
1390 static bool has_thunk_p (cgraph_node *node, void *);
1397 cgraph_node *next_sibling_clone;
1398 cgraph_node *prev_sibling_clone;
1399 cgraph_node *clones;
1400 cgraph_node *clone_of;
1411 cgraph_node *simd_clones;
1420 cgraph_node *inlined_to;
1510 bool call_for_symbol_and_aliases_1 (bool (*callback) (cgraph_node *,
1519 hash_map<cgraph_node *, size_t> *map;
1520 vec<cgraph_node *> nodes;
1698 friend struct cgraph_node;
1713 void redirect_callee (cgraph_node *n);
1719 void redirect_callee_duplicating_thunks (cgraph_node *n);
1725 static cgraph_edge *make_direct (cgraph_edge *edge, cgraph_node *callee);
1732 cgraph_edge *make_speculative (cgraph_node *n2, profile_count direct_count,
1796 cgraph_edge *speculative_call_for_target (cgraph_node *);
1856 cgraph_edge * clone (cgraph_node *n, gcall *call_stmt, unsigned stmt_uid,
1903 cgraph_node *caller;
1904 cgraph_node *callee;
1980 void set_callee (cgraph_node *n);
2145 /* Report whether or not THIS symtab node is a function, aka cgraph_node. */
2150 is_a_helper <cgraph_node *>::test (symtab_node *p)
2166 typedef void (*cgraph_node_hook)(cgraph_node *, void *);
2169 typedef void (*cgraph_2node_hook)(cgraph_node *, cgraph_node *, void *);
2226 friend struct cgraph_node;
2293 cgraph_node *create_empty (void);
2296 void release_symbol (cgraph_node *node);
2337 inline cgraph_node *first_defined_function (void);
2340 inline cgraph_node *next_defined_function (cgraph_node *node);
2343 inline cgraph_node *first_function (void);
2346 inline cgraph_node *next_function (cgraph_node *node);
2349 cgraph_node *first_function_with_gimple_body (void);
2352 inline cgraph_node *next_function_with_gimple_body (cgraph_node *node);
2406 void call_cgraph_insertion_hooks (cgraph_node *node);
2409 void call_cgraph_removal_hooks (cgraph_node *node);
2412 void call_cgraph_duplication_hooks (cgraph_node *node, cgraph_node *node2);
2442 inline int assign_summary_id (cgraph_node *node)
2518 hash_set <const cgraph_node *> GTY ((skip)) cloned_nodes;
2531 cgraph_edge *create_edge (cgraph_node *caller, cgraph_node *callee,
2570 extern vec<cgraph_node *> cgraph_new_nodes;
2623 void dump_callgraph_transformation (const cgraph_node *original,
2624 const cgraph_node *clone,
2646 cgraph_node *cnode;
2652 if (!is_a <cgraph_node *> (this))
2654 cnode = dyn_cast <cgraph_node *> (this);
2676 if (cgraph_node *cn = dyn_cast <cgraph_node *> (target))
2681 if (cgraph_node *cn = dyn_cast <cgraph_node *> (target))
2858 symbol_table::release_symbol (cgraph_node *node)
2988 inline cgraph_node *
2994 cgraph_node *cn = dyn_cast <cgraph_node *> (node);
3002 inline cgraph_node *
3003 symbol_table::next_defined_function (cgraph_node *node)
3008 cgraph_node *cn1 = dyn_cast <cgraph_node *> (node1);
3021 inline cgraph_node *
3026 if (cgraph_node *cn = dyn_cast <cgraph_node *> (node))
3032 inline cgraph_node *
3033 symbol_table::next_function (cgraph_node *node)
3037 if (cgraph_node *cn1 = dyn_cast <cgraph_node *> (node1))
3043 inline cgraph_node *
3049 cgraph_node *cn = dyn_cast <cgraph_node *> (node);
3057 inline cgraph_node *
3058 symbol_table::next_function_with_gimple_body (cgraph_node *node)
3063 cgraph_node *cn1 = dyn_cast <cgraph_node *> (node1);
3082 cgraph_node::has_gimple_body_p (void)
3114 cgraph_node::only_called_directly_or_aliased_p (void)
3131 cgraph_node::can_remove_if_no_direct_calls_and_refs_p (void)
3155 cgraph_node::checking_verify_cgraph_nodes (void)
3158 cgraph_node::verify_cgraph_nodes ();
3202 inline cgraph_node *
3203 cgraph_node::get_alias_target (void)
3205 return dyn_cast <cgraph_node
3242 inline cgraph_node *
3243 cgraph_node::ultimate_alias_target (enum availability *availability,
3246 cgraph_node *n = dyn_cast <cgraph_node *>
3275 cgraph_edge::set_callee (cgraph_node *n)
3290 cgraph_node *c = callee->ultimate_alias_target ();
3339 cgraph_node *n = cgraph_node::get (fndecl);
3349 cgraph_node::mark_force_output (void)
3358 cgraph_node::optimize_for_size_p (void)
3379 return cgraph_node::get_create (node);
3387 if (is_a <cgraph_node *> (this))
3388 return dyn_cast <cgraph_node *> (this)->get_availability (ref);
3418 cgraph_node::call_for_symbol_and_aliases (bool (*callback) (cgraph_node *,