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
27 * An abstract graph "interface". Currently
28 * only used by the DFS facility.
30 * This is just that we can do some graph algos
31 * on the CFG, dominance tree, etc.
33 #ifndef FIRM_ANA_ABSGRAPH_H
34 #define FIRM_ANA_ABSGRAPH_H
38 typedef struct absgraph_t {
39 void *(*get_root)(void *self);
40 void (*grow_succs)(void *self, void *node, struct obstack *obst);
41 void *(*get_end)(void *self);
44 extern const absgraph_t absgraph_irg_cfg_succ;
45 extern const absgraph_t absgraph_irg_cfg_pred;
47 #endif /* FIRM_ANA_ABSGRAPH_H */