| 
    libFirm 1.20 
   | 
 
The height is a measure for the longest datadependencies path from a node to the end of a basic block. More...
Typedefs | |
| typedef struct ir_heights_t | ir_heights_t | 
| Computed graph Heights.   | |
Functions | |
| unsigned | get_irn_height (const ir_heights_t *h, const ir_node *irn) | 
| Returns the height of a node inside a basic block.   | |
| int | heights_reachable_in_block (ir_heights_t *h, const ir_node *n, const ir_node *m) | 
| Checks if a certain node is reachable according to data dependence edges from another node.   | |
| unsigned | heights_recompute_block (ir_heights_t *h, ir_node *block) | 
| Recomputes the height information for a certain block.   | |
| ir_heights_t * | heights_new (ir_graph *irg) | 
| Creates a new heights object.   | |
| void | heights_free (ir_heights_t *h) | 
| Frees a heights object.   | |
The height is a measure for the longest datadependencies path from a node to the end of a basic block.
This is usefull for scheduling heuristics and can also be used to speedup reachability queries.
| typedef struct ir_heights_t ir_heights_t | 
Computed graph Heights.
Definition at line 75 of file firm_types.h.
| unsigned get_irn_height | ( | const ir_heights_t * | h, | 
| const ir_node * | irn | ||
| ) | 
Returns the height of a node inside a basic block.
The height of the node is the maximal number of edges between a sink node in that block and the node itself (plus 1).
| h | The heights object. | 
| irn | The node. | 
| void heights_free | ( | ir_heights_t * | h | ) | 
Frees a heights object.
| h | The heights object. | 
| ir_heights_t* heights_new | ( | ir_graph * | irg | ) | 
Creates a new heights object.
This also computes the heights for each block in the graph.
| irg | The graph. | 
| int heights_reachable_in_block | ( | ir_heights_t * | h, | 
| const ir_node * | n, | ||
| const ir_node * | m | ||
| ) | 
Checks if a certain node is reachable according to data dependence edges from another node.
Both nodes must be in the same block.
| h | The heights object. | 
| n | The first node. | 
| m | The other node. | 
| unsigned heights_recompute_block | ( | ir_heights_t * | h, | 
| ir_node * | block | ||
| ) | 
Recomputes the height information for a certain block.
This can be used to recompute the height information of a block.
| h | The heights object. | 
| block | The block |