|
libFirm
|
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 |