GCC Middle and Back End API Reference
cgraphbuild.c File Reference

Data Structures

struct  record_reference_ctx

Functions

static tree record_reference ()
static void record_type_list ()
static void record_eh_tables ()
int compute_call_stmt_bb_frequency ()
static bool mark_address ()
static bool mark_load ()
static bool mark_store ()
void ipa_record_stmt_references ()
static unsigned int build_cgraph_edges ()
gimple_opt_passmake_pass_build_cgraph_edges ()
void record_references_in_initializer ()
unsigned int rebuild_cgraph_edges ()
void cgraph_rebuild_references ()
gimple_opt_passmake_pass_rebuild_cgraph_edges ()
static unsigned int remove_cgraph_callee_edges ()
gimple_opt_passmake_pass_remove_cgraph_callee_edges ()

Function Documentation

void cgraph_rebuild_references ( void  )
int compute_call_stmt_bb_frequency ( )
Computes the frequency of the call statement so that it can be stored in
   cgraph_edge.  BB is the basic block of the call statement.   

References basic_block_def::frequency, and PROFILE_ABSENT.

void ipa_record_stmt_references ( )
Record all references from NODE that are taken in statement STMT.   

References mark_address(), mark_load(), mark_store(), and walk_stmt_load_store_addr_ops().

gimple_opt_pass* make_pass_build_cgraph_edges ( )
gimple_opt_pass* make_pass_rebuild_cgraph_edges ( )
gimple_opt_pass* make_pass_remove_cgraph_callee_edges ( )
static bool mark_store ( )
static
static tree record_reference ( )
static
Walk tree and record all calls and references to functions/variables.
   Called via walk_tree: TP is pointer to tree to be examined.
   When DATA is non-null, record references to callgraph.

References canonicalize_constructor_val(), cgraph_get_create_real_symbol_node(), cgraph_mark_address_taken_node(), get_base_var(), ipa_record_reference(), IPA_REF_ADDR, record_reference_ctx::only_vars, record_reference_ctx::varpool_node, and varpool_node_for_decl().

Referenced by record_references_in_initializer().

void record_references_in_initializer ( )
Record references to functions and other variables present in the
   initial value of DECL, a variable.
   When ONLY_VARS is true, we mark needed only variables, not functions.   

References record_reference_ctx::only_vars, pointer_set_create(), pointer_set_destroy(), record_reference(), record_reference_ctx::varpool_node, varpool_node_for_decl(), and visited_nodes.

static void record_type_list ( )
static
Record references to typeinfos in the type list LIST.   

References ipa_record_reference(), IPA_REF_ADDR, lookup_type_for_runtime(), and varpool_node_for_decl().

Referenced by record_eh_tables().