+/**
+ * Calculate a hash value of a node.
+ * The hash value is calculated from the nodes predecessors.
+ * Special handling for Const and SymConst nodes (these don't have predecessors).
+ *
+ * @param node The IR-node
+ */
+unsigned ir_node_hash(ir_node *node);
+
+/**
+ * Creates a new value table used for storing CSE identities.
+ * The value table is used to identify common expressions.
+ *
+ */
+pset *new_identities(void);
+
+/**
+ * Deletes a identities value table.
+ *
+ * @param value_table the identity set
+ */
+void del_identities(pset *value_table);
+
+/**
+ * Add a node to the identities value table.
+ */
+void add_identities(pset *value_table, ir_node *node);
+
+/**
+ * Compare function for two nodes in the hash table. Gets two
+ * nodes as parameters. Returns 0 if the nodes are a cse.
+ */
+int identities_cmp(const void *elt, const void *key);