X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firopt_t.h;h=29d3b3b38d96a5e74838ba578ea45a4b1eef04b1;hb=fed1bdc07c9ec7b4d07a9243ad093c9fdd239fbd;hp=35b6fde76ed823008cdf3b23fc018f4f0c45c14c;hpb=9203a8ccc3e43e643841ee88e09a2c419846f530;p=libfirm diff --git a/ir/ir/iropt_t.h b/ir/ir/iropt_t.h index 35b6fde76..29d3b3b38 100644 --- a/ir/ir/iropt_t.h +++ b/ir/ir/iropt_t.h @@ -23,6 +23,7 @@ # include "pset.h" # include "iropt.h" +# include "tv.h" ir_node *equivalent_node (ir_node *n); @@ -38,9 +39,22 @@ ir_node *optimize_node (ir_node *n); ir_node *optimize_in_place_2 (ir_node *n); -/* Calculate a hash value of a node. */ +/** Calculate a hash value of a node. */ unsigned ir_node_hash (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); + +/** + * Return the canonical node computing the same value as n. + * Looks up the node in a hash table, enters it in the table + * if it isn't there yet. + */ +ir_node *identify_remember(pset *value_table, ir_node *n); + /** * Returns the tarval of a Const node or tarval_bad for all other nodes. */