3 * @brief Algorithms for computing normal and iterated dominance frontiers
4 * @author Sebastian Hack, Daniel Grund
7 * Copyright: (c) Universitaet Karlsruhe
8 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
10 #ifndef _FIRM_BE_DOMFRONT_H_
11 #define _FIRM_BE_DOMFRONT_H_
13 #include "irnodeset.h"
16 * Forward type declaration.
18 typedef struct _be_dom_front_info_t be_dom_front_info_t;
21 * Compute the dominance frontiers for a given graph.
22 * @param irg The graphs.
23 * @return A pointer to the dominance frontier information.
25 be_dom_front_info_t *be_compute_dominance_frontiers(ir_graph *irg);
28 * Free some dominance frontier information.
29 * @param info Some dominance frontier information.
31 void be_free_dominance_frontiers(be_dom_front_info_t *info);
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.
39 ir_node **be_get_dominance_frontier(const be_dom_front_info_t *info,