# ifdef HAVE_CONFIG_H
-# include <config.h>
+# include "config.h"
# endif
+# include "irnode_t.h"
# include "irgwalk.h" /* for irg_walk_func */
# include "irprog.h" /* for get_irp_main_irg */
# include "xmalloc.h"
+# include "gnu_ext.h"
# ifndef TRUE
# define TRUE 1
Data
*/
-/* environment for a single memory walker */
+/** environment for a single memory walker */
typedef struct walk_mem_env_str {
- ir_graph *graph; /* the graph we're visiting */
- int visited; /* 'visited' marker */
- irg_walk_func *pre; /* pre action */
- irg_walk_func *post; /* post action */
- void *env; /* user-defined environment */
-
- struct walk_mem_env_str *prev; /* link up walking instances */
+ ir_graph *graph; /**< the graph we're visiting */
+ unsigned long visited; /**< 'visited' marker
+ (unsigned long in case we walk more than 2^32 graphs) */
+ irg_walk_func *pre; /**< pre action */
+ irg_walk_func *post; /**< post action */
+ void *env; /**< user-defined environment */
+
+ struct walk_mem_env_str *prev; /**< link up walking instances */
/* what else? */
} walk_mem_env_t;
set_irn_visited (node, walk_env->visited);
}
+ if (op_NoMem == get_irn_op (node)) {
+ /* We don't want to see it it if it's not memory */
+ return;
+ }
+
if (iro_Proj == op) {
/* We don't want to see proj nodes at all --- skip over them */
in = get_Proj_pred (node);
void *env)
{
ir_node *end_block = get_irg_end_block (graph);
- walk_mem_env_t *walk_env = (walk_mem_env_t*) xmalloc (sizeof (walk_mem_env_t));
+ walk_mem_env_t *walk_env = xmalloc (sizeof (walk_mem_env_t));
assert (! get_irg_is_mem_visited (graph));
/*
$Log$
+ Revision 1.11 2005/01/26 12:20:20 beck
+ gnu_ext.h included
+
+ Revision 1.10 2005/01/14 13:34:48 liekweg
+ Don't cast malloc
+
+ Revision 1.9 2005/01/10 17:26:34 liekweg
+ fixup printfs, don't put environments on the stack
+
+ Revision 1.8 2004/12/22 14:43:14 beck
+ made allocations C-like
+
+ Revision 1.7 2004/12/21 14:25:35 beck
+ removed C99 constructs
+ make visit counter of same type as irn visit counter
+
+ Revision 1.6 2004/12/02 16:17:51 beck
+ fixed config.h include
+
+ Revision 1.5 2004/11/19 10:35:20 liekweg
+ also test for NoMem
+
Revision 1.4 2004/11/18 16:35:11 liekweg
Do not touch Proj nodes at all