-void ir_nodemap_iterator_init(ir_nodemap_iterator_t *iterator,
- const ir_nodemap_t *nodemap);
-
-/**
- * Advances the iterator and returns the current element or NULL if all elements
- * in the nodemap have been processed.
- * @attention It is not allowed to use nodemap_insert or nodemap_remove while
- * iterating over a nodemap.
- *
- * @param iterator Pointer to the nodemap iterator.
- * @returns Next element in the nodemap or NULL
- */
-ir_node *ir_nodemap_iterator_next(ir_nodemap_iterator_t *iterator);
-
-/**
- * Removes the element the iterator currently points to
- *
- * @param nodemap Pointer to the nodemap
- * @param iterator Pointer to the nodemap iterator.
- */
-void ir_nodemap_remove_iterator(ir_nodemap_t *nodemap,
- const ir_nodemap_iterator_t *iterator);
-#endif
+static inline void *ir_nodemap_get_fast(const ir_nodemap *nodemap,
+ const ir_node *node)
+{
+ unsigned idx = get_irn_idx(node);
+ return nodemap->data[idx];
+}