libFirm 1.20
Control Dependence

Typedefs

typedef struct ir_cdep ir_cdep
 Control Dependence Analysis Results.

Functions

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

Typedef Documentation

typedef struct ir_cdep ir_cdep

Control Dependence Analysis Results.

Definition at line 104 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