libFirm
Loading...
Searching...
No Matches
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
38FIRM_API unsigned get_irn_height(const ir_heights_t *h, const ir_node *irn);
39
49 const ir_node *tgt);
50
58FIRM_API unsigned heights_recompute_block(ir_heights_t *h, ir_node *block);
59
66
71FIRM_API void heights_free(ir_heights_t *h);
72
75#include "end.h"
76
77#endif
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.
unsigned heights_recompute_block(ir_heights_t *h, ir_node *block)
Recomputes the height information for a certain block.
unsigned get_irn_height(const ir_heights_t *h, const ir_node *irn)
Returns the height of a node inside a basic block.
void heights_free(ir_heights_t *h)
Frees a heights object.
struct ir_heights_t ir_heights_t
Computed graph Heights.
Definition firm_types.h:65
ir_heights_t * heights_new(ir_graph *irg)
Creates a new heights object.
struct ir_graph ir_graph
Procedure Graph.
Definition firm_types.h:74
struct ir_node ir_node
Procedure Graph Node.
Definition firm_types.h:53