projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
assert that in and out entities of memperms have the same size, we produce such buggy...
[libfirm]
/
ir
/
be
/
benodesets.h
diff --git
a/ir/be/benodesets.h
b/ir/be/benodesets.h
index
388b4e3
..
145fb5a
100644
(file)
--- a/
ir/be/benodesets.h
+++ b/
ir/be/benodesets.h
@@
-14,7
+14,7
@@
typedef struct pset nodeset;
/**
* Calculates a hash value for a node.
*/
/**
* Calculates a hash value for a node.
*/
-unsigned nodeset_hash(ir_node *n);
+unsigned nodeset_hash(
const
ir_node *n);
/**
* Creates a new nodeset.
/**
* Creates a new nodeset.
@@
-25,7
+25,15
@@
unsigned nodeset_hash(ir_node *n);
* @returns
* created nodeset
*/
* @returns
* created nodeset
*/
-#define new_nodeset(slots) new_pset(pset_default_ptr_cmp, (slots))
+static INLINE nodeset *new_nodeset(int slots)
+{
+ return new_pset(pset_default_ptr_cmp, slots);
+}
+
+/*
+ * Define some convenience macros.
+ */
+#define new_nodeset_default() new_nodeset(64)
/**
* Deletes a nodeset.
/**
* Deletes a nodeset.
@@
-35,14
+43,20
@@
unsigned nodeset_hash(ir_node *n);
* @note
* This does NOT delete the elements of this node set, just it's pointers!
*/
* @note
* This does NOT delete the elements of this node set, just it's pointers!
*/
-#define del_nodeset(nset) del_pset(nset)
+static INLINE void del_nodeset(nodeset *nset)
+{
+ del_pset(nset);
+}
/**
* Returns the number of nodes in a nodeset.
*
* @param nset the nodeset
*/
/**
* Returns the number of nodes in a nodeset.
*
* @param nset the nodeset
*/
-#define nodeset_count(nset) pset_count(nset)
+static INLINE int nodeset_count(nodeset *nset)
+{
+ return pset_count(nset);
+}
/**
* Searches a node in a node set.
/**
* Searches a node in a node set.
@@
-53,7
+67,10
@@
unsigned nodeset_hash(ir_node *n);
* @return
* the pointer of the found node in the nodeset or NULL if it was not found
*/
* @return
* the pointer of the found node in the nodeset or NULL if it was not found
*/
-#define nodeset_find(nset, key) (ir_node *)pset_find((nset), (key), nodeset_hash(key))
+static INLINE ir_node *nodeset_find(nodeset *nset, ir_node *key)
+{
+ return (ir_node *) pset_find(nset, key, nodeset_hash(key));
+}
/**
* Inserts a node into a pset.
/**
* Inserts a node into a pset.
@@
-68,7
+85,10
@@
unsigned nodeset_hash(ir_node *n);
* that should be inserted is already in the set, this functions does
* nothing but returning its already existing set_entry.
*/
* that should be inserted is already in the set, this functions does
* nothing but returning its already existing set_entry.
*/
-#define nodeset_insert(nset, key) (ir_node *)pset_insert((nset), (key), nodeset_hash(key))
+static INLINE ir_node *nodeset_insert(nodeset *nset, ir_node *key)
+{
+ return (ir_node *) pset_insert(nset, key, nodeset_hash(key));
+}
/**
* Removes a node from a nodeset.
/**
* Removes a node from a nodeset.
@@
-85,7
+105,10
@@
unsigned nodeset_hash(ir_node *n);
* Further, it is allowed to remove elements during an iteration
* including the current one.
*/
* Further, it is allowed to remove elements during an iteration
* including the current one.
*/
-#define nodeset_remove(nset, key) (ir_node *)pset_remove((nset), (key), nodeset_hash(key))
+static INLINE ir_node *nodeset_remove(nodeset *nset, ir_node *key)
+{
+ return (ir_node *) pset_remove(nset, key, nodeset_hash(key));
+}
/**
* Returns the first node of a nodeset.
/**
* Returns the first node of a nodeset.
@@
-94,7
+117,10
@@
unsigned nodeset_hash(ir_node *n);
*
* @return a node or NULL if the set is empty
*/
*
* @return a node or NULL if the set is empty
*/
-#define nodeset_first(nset) (ir_node *)pset_first(nset)
+static INLINE ir_node *nodeset_first(nodeset *nset)
+{
+ return (ir_node *) pset_first(nset);
+}
/**
* Returns the next node of a nodeset.
/**
* Returns the next node of a nodeset.
@@
-103,7
+129,10
@@
unsigned nodeset_hash(ir_node *n);
*
* @return a node or NULL if the iteration is finished
*/
*
* @return a node or NULL if the iteration is finished
*/
-#define nodeset_next(nset) (ir_node *)pset_next(nset)
+static INLINE ir_node *nodeset_next(nodeset *nset)
+{
+ return (ir_node *) pset_next(nset);
+}
/**
* Breaks the iteration of a set. Must be called before
/**
* Breaks the iteration of a set. Must be called before
@@
-112,7
+141,10
@@
unsigned nodeset_hash(ir_node *n);
*
* @param nset the nodeset
*/
*
* @param nset the nodeset
*/
-#define nodeset_break(nset) pset_break(nset)
+static INLINE void nodeset_break(nodeset *nset)
+{
+ pset_break(nset);
+}
/**
* Iterate over a node set.
/**
* Iterate over a node set.