projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- renamed access offset functions\n- renamed entity -> ir_entity
[libfirm]
/
ir
/
adt
/
set.c
diff --git
a/ir/adt/set.c
b/ir/adt/set.c
index
dd7315b
..
f2e4dd7
100644
(file)
--- a/
ir/adt/set.c
+++ b/
ir/adt/set.c
@@
-179,7
+179,7
@@
SET *
(PMANGLE(new)) (MANGLEP(cmp_fun) cmp, int nslots)
{
int i;
(PMANGLE(new)) (MANGLEP(cmp_fun) cmp, int nslots)
{
int i;
- SET *table = xmalloc
(sizeof (SET
));
+ SET *table = xmalloc
(sizeof(*table
));
if (nslots > SEGMENT_SIZE * DIRECTORY_SIZE)
nslots = DIRECTORY_SIZE;
if (nslots > SEGMENT_SIZE * DIRECTORY_SIZE)
nslots = DIRECTORY_SIZE;
@@
-304,7
+304,6
@@
static INLINE unsigned
Hash (SET *table, unsigned h)
{
unsigned address;
Hash (SET *table, unsigned h)
{
unsigned address;
-
address = h & (table->maxp - 1); /* h % table->maxp */
if (address < (unsigned)table->p)
address = h & ((table->maxp << 1) - 1); /* h % (2*table->maxp) */
address = h & (table->maxp - 1); /* h % table->maxp */
if (address < (unsigned)table->p)
address = h & ((table->maxp << 1) - 1); /* h % (2*table->maxp) */
@@
-472,6
+471,11
@@
MANGLE(_,_search) (SET *table,
#ifdef PSET
#ifdef PSET
+int pset_default_ptr_cmp(const void *x, const void *y)
+{
+ return x != y;
+}
+
void *
pset_remove (SET *table, const void *key, unsigned hash)
{
void *
pset_remove (SET *table, const void *key, unsigned hash)
{
@@
-546,6
+550,13
@@
MANGLEP(entry) *
return pset_hinsert (se, key, hash);
}
return pset_hinsert (se, key, hash);
}
+void pset_insert_pset_ptr(pset *target, pset *src) {
+ void *elt;
+ for (elt = pset_first(src); elt; elt = pset_next(src)) {
+ pset_insert_ptr(target, elt);
+ }
+}
+
#else /* !PSET */
void *
#else /* !PSET */
void *