#ifndef FIRM_IR_IRNODE_T_H
#define FIRM_IR_IRNODE_T_H
-#include "firm_config.h"
#include "irtypes.h"
#include "irnode.h"
#include "irop_t.h"
return (node->visited >= current_ir_graph->visited);
}
-/**
- * Returns non-zero if a node of was NOT visited.
- * Intern version for libFirm.
- */
static INLINE int
-_irn_not_visited(const ir_node *node) {
- assert(node);
- return (node->visited < current_ir_graph->visited);
+_irn_visited_else_mark(ir_node *node) {
+ if (_irn_visited(node))
+ return 1;
+ _mark_irn_visited(node);
+ return 0;
}
/**
#define set_irn_visited(node, v) _set_irn_visited(node, v)
#define mark_irn_visited(node) _mark_irn_visited(node)
#define irn_visited(node) _irn_visited(node)
-#define irn_not_visited(node) _irn_not_visited(node)
+#define irn_visited_else_mark(node) _irn_visited_else_mark(node)
#define set_irn_link(node, link) _set_irn_link(node, link)
#define get_irn_link(node) _get_irn_link(node)
#define get_irn_pinned(node) _get_irn_pinned(node)