X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firmemory.c;h=95758d5ab34acade0bddf5915bbdfcc2b99b2358;hb=4752f6775544c51874275686d035b9c39b911747;hp=ddd28a920e9e4ba096b572de0b8e3da393d064cf;hpb=02f098c997643c82451cd29b6c44d8a75cb4d8d8;p=libfirm diff --git a/ir/ana/irmemory.c b/ir/ana/irmemory.c index ddd28a920..95758d5ab 100644 --- a/ir/ana/irmemory.c +++ b/ir/ana/irmemory.c @@ -295,7 +295,7 @@ static ir_alias_relation different_index(const ir_node *idx1, const ir_node *idx } /** - * Two Sel addresses have the same base address, check if there offsets are + * Two Sel addresses have the same base address, check if their offsets are * different. * * @param adr1 The first address. @@ -717,7 +717,7 @@ typedef struct mem_disambig_entry { ir_alias_relation result; /**< The alias relation result. */ } mem_disambig_entry; -#define HASH_ENTRY(adr1, adr2) (HASH_PTR(adr1) ^ HASH_PTR(adr2)) +#define HASH_ENTRY(adr1, adr2) (hash_ptr(adr1) ^ hash_ptr(adr2)) /** * Compare two relation cache entries. @@ -1257,14 +1257,12 @@ static pmap *mtp_map; */ static ir_type *clone_type_and_cache(ir_type *tp) { - ir_type *res; - pmap_entry *e = pmap_find(mtp_map, tp); + ir_type *res = (ir_type*)pmap_get(mtp_map, tp); - if (e != NULL) - return (ir_type*) e->value; - - res = clone_type_method(tp); - pmap_insert(mtp_map, tp, res); + if (res == NULL) { + res = clone_type_method(tp); + pmap_insert(mtp_map, tp, res); + } return res; }