Home | History | Annotate | Download | only in include

Lines Matching refs:node

77   /* File stream where this node is being written to.  */
131 /* Set to true when alias node is thunk. */
212 /* For nested functions points to function the node is nested in. */
232 /* Declaration node used to be clone of. */
251 /* Unique id of the node. */
268 /* How commonly executed the node is. Initialized during branch
293 first function in this chain is the version_info node of the
296 /* If this version node corresponds to a dispatcher for function
297 versions, this points to the version info node of the default
298 function, the first node in the chain. */
300 /* If this node corresponds to a function version, this points
304 If this cgraph node is a dispatcher (if dispatcher_function is
312 /* Get the cgraph_function_version_info node corresponding to node. */
314 get_cgraph_node_version (struct cgraph_node *node);
316 /* Insert a new cgraph_function_version_info node into cgraph_fnver_htab
317 corresponding to cgraph_node NODE. */
319 insert_new_cgraph_node_version (struct cgraph_node *node);
329 /* A cgraph node set is a collection of cgraph nodes. A cgraph node
340 /* A varpool node set is a collection of varpool nodes. A varpool node
354 /* Iterator structure for cgraph node sets. */
361 /* Iterator structure for varpool node sets. */
472 /* Next asm node. */
474 /* String for this asm node. */
490 /* Report whether or not THIS symtab node is a function, aka cgraph_node. */
500 /* Report whether or not THIS symtab node is a vriable, aka varpool_node. */
548 void symtab_dissolve_same_comdat_group_list (symtab_node node);
568 void cgraph_node_remove_callees (struct cgraph_node *node);
612 (struct cgraph_node *node);
614 (struct cgraph_node *node);
615 bool cgraph_can_remove_if_no_direct_calls_p (struct cgraph_node *node);
624 vec<cgraph_edge_p> collect_callers_of_node (struct cgraph_node *node);
647 void cgraph_call_function_insertion_hooks (struct cgraph_node *node);
653 bool cgraph_propagate_frequency (struct cgraph_node *node);
664 void fixup_same_cpp_alias_visibility (symtab_node node, symtab_node target, tree alias);
750 void varpool_remove_node (struct varpool_node *node);
751 void varpool_finalize_named_section_flags (struct varpool_node *node);
753 bool varpool_assemble_decl (struct varpool_node *node);
764 void symtab_prevail_in_asm_name_hash (symtab_node node);
767 /* Return callgraph node for given symbol and check it is a function. */
769 cgraph (symtab_node node)
771 gcc_checking_assert (!node || node->symbol.type == SYMTAB_FUNCTION);
772 return (struct cgraph_node *)node;
775 /* Return varpool node for given symbol and check it is a variable. */
777 varpool (symtab_node node)
779 gcc_checking_assert (!node || node->symbol.type == SYMTAB_VARIABLE);
780 return (struct varpool_node *)node;
783 /* Return callgraph node for given symbol and check it is a function. */
791 /* Return varpool node for given symbol and check it is a function. */
799 /* Return asm name of cgraph node. */
801 cgraph_node_asm_name(struct cgraph_node *node)
803 return symtab_node_asm_name ((symtab_node)node);
806 /* Return asm name of varpool node. */
808 varpool_node_asm_name(struct varpool_node *node)
810 return symtab_node_asm_name ((symtab_node)node);
813 /* Return name of cgraph node. */
815 cgraph_node_name(struct cgraph_node *node)
817 return symtab_node_name ((symtab_node)node);
820 /* Return name of varpool node. */
822 varpool_node_name(struct varpool_node *node)
824 return symtab_node_name ((symtab_node)node);
828 #define FOR_EACH_SYMBOL(node) \
829 for ((node) = symtab_nodes; (node); (node) = (node)->symbol.next)
836 symtab_node node;
837 for (node = symtab_nodes; node; node = node->symbol.next)
838 if (varpool_node *vnode = dyn_cast <varpool_node> (node))
843 /* Return next variable after NODE. */
845 varpool_next_variable (struct varpool_node *node)
847 symtab_node node1 = (symtab_node) node->symbol.next;
854 #define FOR_EACH_VARIABLE(node) \
855 for ((node) = varpool_first_variable (); \
856 (node); \
857 (node) = varpool_next_variable ((node)))
863 symtab_node node;
864 for (node = symtab_nodes; node; node = node->symbol.next)
866 varpool_node *vnode = dyn_cast <varpool_node> (node);
867 if (vnode && DECL_INITIAL (node->symbol.decl))
873 /* Return next reachable static variable with initializer after NODE. */
875 varpool_next_static_initializer (struct varpool_node *node)
877 symtab_node node1 = (symtab_node) node->symbol.next;
888 #define FOR_EACH_STATIC_INITIALIZER(node) \
889 for ((node) = varpool_first_static_initializer (); (node); \
890 (node) = varpool_next_static_initializer (node))
896 symtab_node node;
897 for (node = symtab_nodes; node; node = node->symbol.next)
899 varpool_node *vnode = dyn_cast <varpool_node> (node);
906 /* Return next reachable static variable with initializer after NODE. */
908 varpool_next_defined_variable (struct varpool_node *node)
910 symtab_node node1 = (symtab_node) node->symbol.next;
920 #define FOR_EACH_DEFINED_VARIABLE(node) \
921 for ((node) = varpool_first_defined_variable (); (node); \
922 (node) = varpool_next_defined_variable (node))
928 symtab_node node;
929 for (node = symtab_nodes; node; node = node->symbol.next)
931 cgraph_node *cn = dyn_cast <cgraph_node> (node);
938 /* Return next function with body defined after NODE. */
940 cgraph_next_defined_function (struct cgraph_node *node)
942 symtab_node node1 = (symtab_node) node->symbol.next;
953 #define FOR_EACH_DEFINED_FUNCTION(node) \
954 for ((node) = cgraph_first_defined_function (); (node); \
955 (node) = cgraph_next_defined_function ((node)))
961 symtab_node node;
962 for (node = symtab_nodes; node; node = node->symbol.next)
963 if (cgraph_node *cn = dyn_cast <cgraph_node> (node))
970 cgraph_next_function (struct cgraph_node *node)
972 symtab_node node1 = (symtab_node) node->symbol.next;
979 #define FOR_EACH_FUNCTION(node) \
980 for ((node) = cgraph_first_function (); (node); \
981 (node) = cgraph_next_function ((node)))
983 /* Return true when NODE is a function with Gimple body defined
990 cgraph_function_with_gimple_body_p (struct cgraph_node *node)
992 return node->analyzed && !node->thunk.thunk_p && !node->alias;
999 symtab_node node;
1000 for (node = symtab_nodes; node; node = node->symbol.next)
1002 cgraph_node *cn = dyn_cast <cgraph_node> (node);
1009 /* Return next reachable static variable with initializer after NODE. */
1011 cgraph_next_function_with_gimple_body (struct cgraph_node *node)
1013 symtab_node node1 = node->symbol.next;
1024 #define FOR_EACH_FUNCTION_WITH_GIMPLE_BODY(node) \
1025 for ((node) = cgraph_first_function_with_gimple_body (); (node); \
1026 (node) = cgraph_next_function_with_gimple_body (node))
1045 /* Return the node pointed to by CSI. */
1052 /* Return an iterator to the first node in SET. */
1063 /* Return true if SET contains NODE. */
1065 cgraph_node_in_set_p (struct cgraph_node *node, cgraph_node_set set)
1068 csi = cgraph_node_set_find (set, node);
1093 /* Return the node pointed to by VSI. */
1100 /* Return an iterator to the first node in SET. */
1111 /* Return true if SET contains NODE. */
1113 varpool_node_in_set_p (struct varpool_node *node, varpool_node_set set)
1116 vsi = varpool_node_set_find (set, node);
1158 /* Return true when function NODE is only called directly or it has alias.
1163 cgraph_only_called_directly_or_aliased_p (struct cgraph_node *node)
1165 gcc_assert (!node->global.inlined_to);
1166 return (!node->symbol.force_output && !node->symbol.address_taken
1167 && !node->symbol.used_from_other_partition
1168 && !DECL_VIRTUAL_P (node->symbol.decl)
1169 && !DECL_STATIC_CONSTRUCTOR (node->symbol.decl)
1170 && !DECL_STATIC_DESTRUCTOR (node->symbol.decl)
1171 && !node->symbol.externally_visible);
1174 /* Return true when function NODE can be removed from callgraph
1178 varpool_can_remove_if_no_refs (struct varpool_node *node)
1180 if (DECL_EXTERNAL (node->symbol.decl))
1182 return (!node->symbol.force_output && !node->symbol.used_from_other_partition
1183 && ((DECL_COMDAT (node->symbol.decl)
1184 && !symtab_used_from_object_file_p ((symtab_node) node))
1185 || !node->symbol.externally_visible
1186 || DECL_HAS_VALUE_EXPR_P (node->symbol.decl)));
1209 /* Return node that alias N is aliasing. */
1223 /* Return node that alias N is aliasing. */
1237 /* Given NODE, walk the alias chain to return the function NODE is alias of.
1242 cgraph_function_node (struct cgraph_node *node, enum availability *availability)
1245 *availability = cgraph_function_body_availability (node);
1246 while (node)
1248 if (node->alias && node->analyzed)
1249 node = cgraph_alias_aliased_node (node);
1250 else if (node->thunk.thunk_p)
1251 node = node->callees->callee;
1253 return node;
1254 if (node && availability)
1257 a = cgraph_function_body_availability (node);
1267 /* Given NODE, walk the alias chain to return the function NODE is alias of.
1272 cgraph_function_or_thunk_node (struct cgraph_node *node, enum availability *availability)
1275 *availability = cgraph_function_body_availability (node);
1276 while (node)
1278 if (node->alias && node->analyzed)
1279 node = cgraph_alias_aliased_node (node);
1281 return node;
1282 if (node && availability)
1285 a = cgraph_function_body_availability (node);
1295 /* Given NODE, walk the alias chain to return the function NODE is alias of.
1300 varpool_variable_node (struct varpool_node *node, enum availability *availability)
1303 *availability = cgraph_variable_initializer_availability (node);
1304 while (node)
1306 if (node->alias && node->analyzed)
1307 node = varpool_alias_aliased_node (node);
1309 return node;
1310 if (node && availability)
1313 a = cgraph_variable_initializer_availability (node);
1344 /* Likewise indicate that a node is needed, i.e. reachable via some
1348 cgraph_mark_force_output_node (struct cgraph_node *node)
1350 node->symbol.force_output = 1;
1351 gcc_checking_assert (!node->global.inlined_to);
1358 symtab_real_symbol_p (symtab_node node)
1362 if (!is_a <cgraph_node> (node))
1364 cnode = cgraph (node);