Fixed some typos.
[libfirm] / ir / ir / valueset.c
index 7f99aa2..c6c2e07 100644 (file)
@@ -21,7 +21,6 @@
  * @file
  * @author    Michael Beck
  * @brief     A value set, containing expression for values.
- * @version   $Id$
  */
 #include "config.h"
 
@@ -40,42 +39,42 @@ static ir_valueset_entry_t null_valueset_entry;
 #define KeyType                   ir_node*
 #define ConstKeyType              const ir_node*
 #define GetKey(entry)             (entry).value
-#define InitData(self,entry,key)  do { (entry).value = (key); (entry).list.next = NULL; (entry).list.prev = NULL; } while(0)
+#define InitData(self,entry,key)  do { (entry).value = (key); (entry).list.next = NULL; (entry).list.prev = NULL; } while (0)
 #define Hash(self,key)            ir_node_hash(key)
 #define KeysEqual(self,key1,key2) (key1) == (key2)
 #define SetRangeEmpty(ptr,size)   memset(ptr, 0, (size) * sizeof((ptr)[0]))
 #define EntrySetEmpty(entry)      (entry).value = NULL
-#define EntrySetDeleted(entry)    do { (entry).data.value = (ir_node*) -1; list_del(&(entry).data.list); } while(0)
+#define EntrySetDeleted(entry)    do { (entry).data.value = (ir_node*) -1; list_del(&(entry).data.list); } while (0)
 #define EntryIsEmpty(entry)       ((entry).data.value == NULL)
 #define EntryIsDeleted(entry)     ((entry).data.value == (ir_node*)-1)
 
 #define hashset_init            ir_valueset_init
 #define hashset_init_size       ir_valueset_init_size
 #define hashset_destroy         ir_valueset_destroy
-#define hashset_insert          _ir_valueset_insert
+ir_valueset_entry_t *ir_valueset_insert_(ir_valueset_t *self, ir_node *value);
+#define hashset_insert          ir_valueset_insert_
 #define hashset_remove          ir_valueset_remove
-#define hashset_find            _ir_valueset_find
+ir_valueset_entry_t *ir_valueset_find_(const ir_valueset_t *self,
+                                       const ir_node *value);
+#define hashset_find            ir_valueset_find_
 #define hashset_size            ir_valueset_size
 
 #define ADDITIONAL_INIT         INIT_LIST_HEAD(&self->elem_list); INIT_LIST_HEAD(&self->all_iters);
 #define ADDITIONAL_TERM         INIT_LIST_HEAD(&self->elem_list); INIT_LIST_HEAD(&self->all_iters);
 
-#define NO_ITERATOR
 #define HAVE_OWN_RESIZE
 
-#include "hashset.c"
+#include "hashset.c.inl"
 
 /**
  * Resize the hashset
  * @internal
  */
-static
-void resize(HashSet *self, size_t new_size)
+static void resize(HashSet *self, size_t new_size)
 {
        HashSetEntry *old_entries = self->entries;
        HashSetEntry *new_entries;
        list_head    list = self->elem_list;
-       ValueType    *entry;
        int          res = 1;
 
        /* allocate a new array with double size */
@@ -110,7 +109,7 @@ void resize(HashSet *self, size_t new_size)
 
 int ir_valueset_insert(ir_valueset_t *valueset, ir_node *value, ir_node *expr)
 {
-       ir_valueset_entry_t *entry = _ir_valueset_insert(valueset, value);
+       ir_valueset_entry_t *entry = ir_valueset_insert_(valueset, value);
 
        if (entry->list.next != NULL) {
                /* this value is already inserted, do nothing */
@@ -126,7 +125,7 @@ int ir_valueset_insert(ir_valueset_t *valueset, ir_node *value, ir_node *expr)
 int ir_valueset_replace(ir_valueset_t *valueset, ir_node *value, ir_node *expr)
 {
        int res = 0;
-       ir_valueset_entry_t *entry = _ir_valueset_insert(valueset, value);
+       ir_valueset_entry_t *entry = ir_valueset_insert_(valueset, value);
 
        if (entry->expr != expr) {
                entry->expr = expr;
@@ -142,19 +141,35 @@ int ir_valueset_replace(ir_valueset_t *valueset, ir_node *value, ir_node *expr)
 
 void *ir_valueset_lookup(const ir_valueset_t *valueset, const ir_node *value)
 {
-       ir_valueset_entry_t *entry = _ir_valueset_find(valueset, value);
+       ir_valueset_entry_t *entry = ir_valueset_find_(valueset, value);
        if (entry != NULL)
                return entry->expr;
        return NULL;
 }
 
+void ir_valueset_set_link(const ir_valueset_t *valueset, const ir_node *value, void *link)
+{
+       ir_valueset_entry_t *entry = ir_valueset_find_(valueset, value);
+       assert(entry);
+       entry->link = link;
+}
+
+void *ir_valueset_get_link(const ir_valueset_t *valueset, const ir_node *value)
+{
+       ir_valueset_entry_t *entry = ir_valueset_find_(valueset, value);
+       assert(entry);
+       return entry->link;
+}
+
 void ir_valueset_iterator_init(ir_valueset_iterator_t *iterator,
-                               const ir_valueset_t *valueset) {
+                               const ir_valueset_t *valueset)
+{
        iterator->iter     = valueset->elem_list.next;
        iterator->valueset = valueset;
 }
 
-ir_node *ir_valueset_iterator_next(ir_valueset_iterator_t *iterator, ir_node **expr) {
+ir_node *ir_valueset_iterator_next(ir_valueset_iterator_t *iterator, ir_node **expr)
+{
        ir_valueset_entry_t *entry;
 
        if (iterator->iter == &iterator->valueset->elem_list) {
@@ -169,7 +184,8 @@ ir_node *ir_valueset_iterator_next(ir_valueset_iterator_t *iterator, ir_node **e
        return entry->value;
 }
 
-void ir_valueset_remove_iterator(ir_valueset_t *valueset, ir_valueset_iterator_t *iterator) {
+void ir_valueset_remove_iterator(ir_valueset_t *valueset, ir_valueset_iterator_t *iterator)
+{
        ir_valueset_entry_t *rem = list_entry(iterator->iter->prev, ir_valueset_entry_t, list);
 
        ir_valueset_remove(valueset, rem->value);