2 * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
4 * This file is part of libFirm.
6 * This file may be distributed and/or modified under the terms of the
7 * GNU General Public License version 2 as published by the Free Software
8 * Foundation and appearing in the file LICENSE.GPL included in the
9 * packaging of this file.
11 * Licensees holding valid libFirm Professional Edition licenses may use
12 * this file in accordance with the libFirm Commercial License.
13 * Agreement provided with the Software.
15 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * @author Sebastian Hack
26 * An abstract graph "interface". Currently
27 * only used by the DFS facility.
29 * This is just that we can do some graph algos
30 * on the CFG, dominance tree, etc.
32 #ifndef FIRM_ANA_ABSGRAPH_H
33 #define FIRM_ANA_ABSGRAPH_H
37 typedef struct absgraph_t {
38 void *(*get_root)(void *self);
39 void (*grow_succs)(void *self, void *node, struct obstack *obst);
40 void *(*get_end)(void *self);
43 extern const absgraph_t absgraph_irg_cfg_succ;
44 extern const absgraph_t absgraph_irg_cfg_pred;
46 #endif /* FIRM_ANA_ABSGRAPH_H */