X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firlinkednodemap.c;h=74aa1488c43a609748fb2aca8ec1f2298d7e0a35;hb=a08e6f04aa3669cff094f94a9484c7c2bb1314d0;hp=d3ce4922c78b24225628f32a414fc83ce80063a1;hpb=a45bb55ccc2bd1c781195b5ec2ee8ec73ab43c1b;p=libfirm diff --git a/ir/ir/irlinkednodemap.c b/ir/ir/irlinkednodemap.c index d3ce4922c..74aa1488c 100644 --- a/ir/ir/irlinkednodemap.c +++ b/ir/ir/irlinkednodemap.c @@ -39,25 +39,24 @@ static ir_lnk_nodemap_entry_t null_nodemap_entry; #define KeyType ir_node* #define ConstKeyType const ir_node* #define GetKey(value) (value).node -#define InitData(self,value,key) do { (value).node = (key); (value).list.next = NULL; (value).list.prev = NULL; } while(0) -#ifdef DEBUG_libfirm +#define InitData(self,value,key) do { (value).node = (key); (value).list.next = NULL; (value).list.prev = NULL; } while (0) #define Hash(self,key) ((unsigned)((key)->node_nr)) -#else -#define Hash(self,key) HASH_PTR(key) -#endif #define KeysEqual(self,key1,key2) (key1) == (key2) #define SetRangeEmpty(ptr,size) memset(ptr, 0, (size) * sizeof((ptr)[0])) #define EntrySetEmpty(value) (value).node = NULL -#define EntrySetDeleted(value) do { (value).node = (ir_node*) -1; list_del(&(value).list); } while(0) +#define EntrySetDeleted(value) do { (value).node = (ir_node*) -1; list_del(&(value).list); } while (0) #define EntryIsEmpty(value) ((value).node == NULL) #define EntryIsDeleted(value) ((value).node == (ir_node*)-1) #define hashset_init ir_lnk_nodemap_init #define hashset_init_size ir_lnk_nodemap_init_size #define hashset_destroy ir_lnk_nodemap_destroy -#define hashset_insert _ir_lnk_nodemap_insert +ir_lnk_nodemap_entry_t *ir_lnk_nodemap_insert_(ir_lnk_nodemap_t *self, ir_node *node); +#define hashset_insert ir_lnk_nodemap_insert_ #define hashset_remove ir_lnk_nodemap_remove -#define hashset_find _ir_lnk_nodemap_find +ir_lnk_nodemap_entry_t *ir_lnk_nodemap_find_(const ir_lnk_nodemap_t *self, + const ir_node *node); +#define hashset_find ir_lnk_nodemap_find_ #define hashset_size ir_lnk_nodemap_size #define ADDITIONAL_INIT INIT_LIST_HEAD(&self->elem_list); INIT_LIST_HEAD(&self->all_iters); @@ -72,10 +71,8 @@ static ir_lnk_nodemap_entry_t null_nodemap_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; @@ -115,7 +112,7 @@ void resize(HashSet *self, size_t new_size) int ir_lnk_nodemap_put(ir_lnk_nodemap_t *nodemap, ir_node *node, void *data) { - ir_lnk_nodemap_entry_t *entry = _ir_lnk_nodemap_insert(nodemap, node); + ir_lnk_nodemap_entry_t *entry = ir_lnk_nodemap_insert_(nodemap, node); entry->data = data; if (entry->list.next == NULL) { @@ -128,7 +125,7 @@ int ir_lnk_nodemap_put(ir_lnk_nodemap_t *nodemap, ir_node *node, void *data) void *ir_lnk_nodemap_get(const ir_lnk_nodemap_t *nodemap, const ir_node *node) { - ir_lnk_nodemap_entry_t *entry = _ir_lnk_nodemap_find(nodemap, node); + ir_lnk_nodemap_entry_t *entry = ir_lnk_nodemap_find_(nodemap, node); return entry->data; } @@ -140,7 +137,8 @@ void *ir_lnk_nodemap_get(const ir_lnk_nodemap_t *nodemap, const ir_node *node) * @param nodemap Pointer to the nodemap */ void ir_lnk_nodemap_iterator_init(ir_lnk_nodemap_iterator_t *iterator, - const ir_lnk_nodemap_t *nodemap) { + const ir_lnk_nodemap_t *nodemap) +{ iterator->iter = nodemap->elem_list.next; iterator->nodemap = nodemap; } @@ -154,7 +152,8 @@ void ir_lnk_nodemap_iterator_init(ir_lnk_nodemap_iterator_t *iterator, * @param iterator Pointer to the nodemap iterator. * @returns Next element in the nodemap or NULL */ -ir_node *ir_lnk_nodemap_iterator_next(ir_lnk_nodemap_iterator_t *iterator) { +ir_node *ir_lnk_nodemap_iterator_next(ir_lnk_nodemap_iterator_t *iterator) +{ ir_node *res; if (iterator->iter == &iterator->nodemap->elem_list) return NULL; @@ -172,10 +171,9 @@ ir_node *ir_lnk_nodemap_iterator_next(ir_lnk_nodemap_iterator_t *iterator) { * @param iterator Pointer to the nodemap iterator. */ void ir_lnk_nodemap_remove_iterator(ir_lnk_nodemap_t *nodemap, - ir_lnk_nodemap_iterator_t *iterator) { - ir_lnk_nodemap_entry_t *rem = list_entry(iterator->iter, ir_lnk_nodemap_entry_t, list); - - iterator->iter = rem->list.prev; + ir_lnk_nodemap_iterator_t *iterator) +{ + ir_lnk_nodemap_entry_t *rem = list_entry(iterator->iter->prev, ir_lnk_nodemap_entry_t, list); ir_lnk_nodemap_remove(nodemap, rem->node); }