# include <stdlib.h>
-# include "irnode.h"
+# include "irnode_t.h"
# include "irgraph.h" /* visited flag */
# include "irprog.h"
# include "irgwalk.h"
+# include "typewalk.h"
# include "eset.h"
# include "array.h"
ir_graph * rem = current_ir_graph;
ir_node * pred;
- assert(node);
+ assert(node && node->kind==k_ir_node);
if (get_irn_visited(node) >= visited) return;
set_irn_visited(node, visited);
irg_walk_2(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void * env)
{
int i;
- assert(node);
+ assert(node && node->kind==k_ir_node);
if (get_irn_visited(node) < get_irg_visited(current_ir_graph)) {
set_irn_visited(node, get_irg_visited(current_ir_graph));
void irg_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
{
- assert(node);
+ assert(node && node->kind==k_ir_node);
if (interprocedural_view) {
eset * irg_set = eset_create();
int visited;
/********************************************************************/
typedef struct walk_env {
- void *pre;
- void *post;
+ irg_walk_func *pre;
+ irg_walk_func *post;
void *env;
} walk_env;
/** } **/
/********************************************************************/
-/* Allocates some necessary datastructures. */
-void init_ip_walk ();
-/* Frees some necessary datastructures. */
-void finish_ip_walk();
-
/* Call for i in {0|-1 ... get_irn_arity(n)}.
If n is a conventional node returns the same node as get_irn_n(n, i).
If the predecessors of n are in the callee of the procedure n belongs
/* Initialization routines ******************************************/
-void init_ip_walk () {
+void init_ip_walk (void) {
int i;
for (i = 0; i < get_irp_n_irgs(); i++)
new_callsite_stack(get_irp_irg(i));
}
-void finish_ip_walk() {
+void finish_ip_walk(void) {
int i;
for (i = 0; i < get_irp_n_irgs(); i++)
free_callsite_stack(get_irp_irg(i));