3 * File name: ir/st/st.h
4 * Purpose: Provide some auxilliary structures for firm graphs.
5 * Author: Florian Liekweg
9 * Copyright: (c) 2002-2003 Universität Karlsruhe
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
15 Provide some auxilliary structures for firm graphs.
17 @author Florian Liekweg
37 /** One dominator tree */
41 ir_graph *graph; /**< PRE */
43 ir_node **idoms; /**< idom [n] == immediate dominator of blocks [n] */
49 typedef struct dtree_t
58 /** dominator environment for a node dom_env_t::a in graph dom_env_t::graph */
59 typedef struct dom_env_t
68 /* Forwards for Globals: */
69 extern dtree_t *trees;
73 void st_build_dominator_tree (ir_graph*);
74 bool dominates (ir_graph*, ir_node*, ir_node*);
75 ir_node *get_idom (ir_graph*, ir_node*);
77 dom_env_t *get_dom_env (ir_graph*, ir_node*);
78 void delete_dom_env (dom_env_t*);
79 bool dominates_l (dom_env_t*, ir_node*);
81 # endif /* defined _ST_H_ */