libFirm
heights.h
1 /*
2  * This file is part of libFirm.
3  * Copyright (C) 2012 University of Karlsruhe.
4  */
5 
12 #ifndef FIRM_ANA_HEIGHTS_H
13 #define FIRM_ANA_HEIGHTS_H
14 
15 #include "firm_types.h"
16 
17 #include "begin.h"
18 
38 FIRM_API unsigned get_irn_height(const ir_heights_t *h, const ir_node *irn);
39 
48 FIRM_API int heights_reachable_in_block(ir_heights_t *h, const ir_node *src,
49  const ir_node *tgt);
50 
58 FIRM_API unsigned heights_recompute_block(ir_heights_t *h, ir_node *block);
59 
65 FIRM_API ir_heights_t *heights_new(ir_graph *irg);
66 
71 FIRM_API void heights_free(ir_heights_t *h);
72 
75 #include "end.h"
76 
77 #endif
unsigned heights_recompute_block(ir_heights_t *h, ir_node *block)
Recomputes the height information for a certain block.
void heights_free(ir_heights_t *h)
Frees a heights object.
ir_heights_t * heights_new(ir_graph *irg)
Creates a new heights object.
unsigned get_irn_height(const ir_heights_t *h, const ir_node *irn)
Returns the height of a node inside a basic block.
struct ir_node ir_node
Procedure Graph Node.
Definition: firm_types.h:53
struct ir_heights_t ir_heights_t
Computed graph Heights.
Definition: firm_types.h:65
int heights_reachable_in_block(ir_heights_t *h, const ir_node *src, const ir_node *tgt)
Checks if the node tgt is reachable according to data dependence edges from the node src...
struct ir_graph ir_graph
Procedure Graph.
Definition: firm_types.h:74