libFirm 1.20
|
00001 /* 00002 * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. 00003 * 00004 * This file is part of libFirm. 00005 * 00006 * This file may be distributed and/or modified under the terms of the 00007 * GNU General Public License version 2 as published by the Free Software 00008 * Foundation and appearing in the file LICENSE.GPL included in the 00009 * packaging of this file. 00010 * 00011 * Licensees holding valid libFirm Professional Edition licenses may use 00012 * this file in accordance with the libFirm Commercial License. 00013 * Agreement provided with the Software. 00014 * 00015 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00017 * PURPOSE. 00018 */ 00019 00025 #ifndef FIRM_IR_IRGWALK_H 00026 #define FIRM_IR_IRGWALK_H 00027 00028 #include "firm_types.h" 00029 #include "begin.h" 00030 00059 FIRM_API void irg_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post, 00060 void *env); 00061 00066 FIRM_API void irg_walk_core(ir_node *node, irg_walk_func *pre, 00067 irg_walk_func *post, void *env); 00068 00081 FIRM_API void irg_walk_graph(ir_graph *irg, irg_walk_func *pre, 00082 irg_walk_func *post, void *env); 00083 00103 FIRM_API void irg_walk_in_or_dep(ir_node *node, irg_walk_func *pre, 00104 irg_walk_func *post, void *env); 00105 00119 FIRM_API void irg_walk_in_or_dep_graph(ir_graph *irg, irg_walk_func *pre, 00120 irg_walk_func *post, void *env); 00121 00133 FIRM_API void all_irg_walk(irg_walk_func *pre, irg_walk_func *post, void *env); 00134 00147 FIRM_API void irg_block_walk(ir_node *node, irg_walk_func *pre, 00148 irg_walk_func *post, void *env); 00149 00161 FIRM_API void irg_block_walk_graph(ir_graph *irg, irg_walk_func *pre, 00162 irg_walk_func *post, void *env); 00163 00174 FIRM_API void walk_const_code(irg_walk_func *pre, irg_walk_func *post, 00175 void *env); 00176 00193 FIRM_API void irg_walk_blkwise_graph(ir_graph *irg, irg_walk_func *pre, 00194 irg_walk_func *post, void *env); 00195 00213 FIRM_API void irg_walk_in_or_dep_blkwise_graph(ir_graph *irg, 00214 irg_walk_func *pre, 00215 irg_walk_func *post, void *env); 00216 00234 FIRM_API void irg_walk_blkwise_dom_top_down(ir_graph *irg, irg_walk_func *pre, 00235 irg_walk_func *post, void *env); 00236 00247 FIRM_API void irg_walk_anchors(ir_graph *irg, irg_walk_func *pre, 00248 irg_walk_func *post, void *env); 00249 00254 unsigned irg_walk_2(ir_node *node, irg_walk_func *pre, irg_walk_func *post, 00255 void *env); 00256 00259 #include "end.h" 00260 00261 #endif