X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Fvalueset.c;h=30531a9fd53e24bde209539e60ca1b3a41d217c2;hb=95cfa6465fa7fadda4af7b97c3678acf1010ff8b;hp=08840cfd27e951f6b0bb66115b67c7c4bd4d1542;hpb=44d8e42d6bc1a5545cf0825e365fec2c389f3752;p=libfirm diff --git a/ir/ir/valueset.c b/ir/ir/valueset.c index 08840cfd2..30531a9fd 100644 --- a/ir/ir/valueset.c +++ b/ir/ir/valueset.c @@ -21,7 +21,6 @@ * @file * @author Michael Beck * @brief A value set, containing expression for values. - * @version $Id$ */ #include "config.h" @@ -40,21 +39,24 @@ 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); @@ -69,10 +71,8 @@ static ir_valueset_entry_t null_valueset_entry; * Resize the hashset * @internal */ -static INLINE -void resize(HashSet *self, size_t new_size) +static void resize(HashSet *self, size_t new_size) { - size_t num_buckets = self->num_buckets; HashSetEntry *old_entries = self->entries; HashSetEntry *new_entries; list_head list = self->elem_list; @@ -111,7 +111,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 */ @@ -127,7 +127,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; @@ -143,19 +143,21 @@ 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_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) { @@ -170,10 +172,9 @@ 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) { - ir_valueset_entry_t *rem = list_entry(iterator->iter, ir_valueset_entry_t, list); - - iterator->iter = rem->list.prev; +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); }