added missing source
[libfirm] / ir / be / bedomfront.h
1 /**
2  * @file
3  * @brief       Algorithms for computing normal and iterated dominance frontiers
4  * @author      Sebastian Hack, Daniel Grund
5  * @date:       04.05.2005
6  * @version     $Id$
7  * Copyright:   (c) Universitaet Karlsruhe
8  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
9  */
10 #ifndef _FIRM_BE_DOMFRONT_H_
11 #define _FIRM_BE_DOMFRONT_H_
12
13 #include "irnodeset.h"
14
15 /*
16  * Forward type declaration.
17  */
18 typedef struct _be_dom_front_info_t be_dom_front_info_t;
19
20 /**
21  * Compute the dominance frontiers for a given graph.
22  * @param  irg The graphs.
23  * @return A pointer to the dominance frontier information.
24  */
25 be_dom_front_info_t *be_compute_dominance_frontiers(ir_graph *irg);
26
27 /**
28  * Free some dominance frontier information.
29  * @param info Some dominance frontier information.
30  */
31 void be_free_dominance_frontiers(be_dom_front_info_t *info);
32
33 /**
34  * Get the dominance frontier of a block.
35  * @param info  A pointer to the dominance frontier information.
36  * @param block The block whose dominance frontier you want.
37  * @return A list containing the all blocks in the dominance frontier of @p block.
38  */
39 ir_node **be_get_dominance_frontier(const be_dom_front_info_t *info,
40                                     ir_node *block);
41
42 #endif