1 /* Copyright (c) 2002 by Universitaet Karlsruhe (TH). All Rights Reserved */
6 Provide some auxilliary structures for firm graphs.
8 @author Florian Liekweg
16 liekweg - Feb 26, 2002: Created.
35 /** One dominator tree */
39 ir_graph *graph; /**< PRE */
41 ir_node **idoms; /**< idom [n] == immediate dominator of blocks [n] */
47 typedef struct dtree_t
56 /** dominator environment for a node dom_env_t::a in graph dom_env_t::graph */
57 typedef struct dom_env_t
66 /* Forwards for Globals: */
67 extern dtree_t *trees;
71 void st_build_dominator_tree (ir_graph*);
72 bool dominates (ir_graph*, ir_node*, ir_node*);
73 ir_node *get_idom (ir_graph*, ir_node*);
75 dom_env_t *get_dom_env (ir_graph*, ir_node*);
76 void delete_dom_env (dom_env_t*);
77 bool dominates_l (dom_env_t*, ir_node*);
79 # endif /* defined _ST_H_ */