libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Control Dependence

Typedefs

typedef struct ir_cdep ir_cdep
 Control Dependence Analysis Results. More...
 

Functions

void compute_cdep (ir_graph *irg)
 Computes the control dependence graph for a graph. More...
 
void free_cdep (ir_graph *irg)
 Frees the control dependence info. More...
 
ir_node * get_cdep_node (const ir_cdep *cdep)
 Returns control dependent block. More...
 
ir_cdep * get_cdep_next (const ir_cdep *cdep)
 Returns next entry in a list of cdeps. More...
 
ir_cdep * find_cdep (const ir_node *block)
 Returns a list of all control dependences of a block. More...
 
void exchange_cdep (ir_node *old, const ir_node *nw)
 Replaces the control dependence info of old by the info of nw. More...
 
int is_cdep_on (const ir_node *dependee, const ir_node *candidate)
 Checks whether dependee is (directly) control dependent on candidate. More...
 
ir_node * get_unique_cdep (const ir_node *block)
 If block is control dependent on exactly one node, returns this node, else NULL. More...
 
int has_multiple_cdep (const ir_node *block)
 Checks if the given block is control dependent of more than one node. More...
 

Detailed Description

Typedef Documentation

typedef struct ir_cdep ir_cdep

Control Dependence Analysis Results.

Definition at line 86 of file firm_types.h.

Function Documentation

void compute_cdep ( ir_graph *  irg)

Computes the control dependence graph for a graph.

void exchange_cdep ( ir_node *  old,
const ir_node *  nw 
)

Replaces the control dependence info of old by the info of nw.

ir_cdep* find_cdep ( const ir_node *  block)

Returns a list of all control dependences of a block.

void free_cdep ( ir_graph *  irg)

Frees the control dependence info.

ir_cdep* get_cdep_next ( const ir_cdep *  cdep)

Returns next entry in a list of cdeps.

ir_node* get_cdep_node ( const ir_cdep *  cdep)

Returns control dependent block.

ir_node* get_unique_cdep ( const ir_node *  block)

If block is control dependent on exactly one node, returns this node, else NULL.

Parameters
blockthe block to check
int has_multiple_cdep ( const ir_node *  block)

Checks if the given block is control dependent of more than one node.

Parameters
blockthe block to check
int is_cdep_on ( const ir_node *  dependee,
const ir_node *  candidate 
)

Checks whether dependee is (directly) control dependent on candidate.

Parameters
dependeethe (possible) dependent block
candidatethe (possible) block on which dependee is dependent