isl_union_*: use consistent hash values
commit2b783a80d4a29b5958e5653ba19ea062f429cf89
authorSven Verdoolaege <skimo@kotnet.org>
Sun, 28 Jun 2015 18:22:42 +0000 (28 20:22 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Mon, 13 Jul 2015 06:24:31 +0000 (13 08:24 +0200)
tree9ac261c13cae0fa3c793a7079daad2183d381a00
parent324632171564a10c326200761043aa789f63e921
isl_union_*: use consistent hash values

In 4d102a4 (only allow a single isl_pw_* object with given domain space
in isl_union_pw_*, Sat Jun 7 11:19:41 2014 +0200), the isl_union_* objects
were changed to only contain a single entry with a given domain space.
However, the hash value in the table would still be computed based
on the complete space, meaning that multiple entries with the same
domain space would not necessarily get detected if the hash values
for the complete spaces are different.
Moreover, isl_union_*_eval would use the hash value of the domain space,
meaning that it would not be able to find the right entry.

Consistently use the hash value of the domain space to solve this problem.
Moreover, extract out the handling into a new isl_union_*_find_part_entry
function to reduce the risk of inconsistencies.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Makefile.am
isl_fold.c
isl_hash.c
isl_hash_private.h [new file with mode: 0644]
isl_test.c
isl_union_templ.c