Changeset: 4dc355e7febe for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4dc355e7febe
Modified Files:
configure.ag
gdk/gdk_search.c
monetdb5/modules/atoms/uuid.c
Branch: Oct2014
Log Message:
merged
diffs (104 lines):
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -129,6 +129,7 @@ case "$CC" in
9.*) CC="$CC -no-gcc";;
10.*) CC="$CC -no-gcc";;
11.*) CC="$CC -no-gcc";;
+ 15.*) CC="$CC -no-gcc";;
*) AC_MSG_WARN([icc ($CC) $icc_ver not handled, yet]);;
esac
;;
@@ -696,6 +697,7 @@ yes-*-*)
9.*) ;;
10.*) ;;
11.*) ;;
+ 15.*) ;;
*) CFLAGS="$CFLAGS -ansi";;
esac
dnl Be picky; "-Werror" seems to be too rigid for autoconf...
@@ -713,11 +715,12 @@ yes-*-*)
dnl ... however, some things aren't solved, yet:
dnl (for the time being,) we need to disable some warnings (making
them remarks doesn't seem to work with -Werror):
X_CFLAGS="$X_CFLAGS -wd1418,1419,981,193,1357"
- dnl ICC 11 warns about non-pointer conversion from "<type>" to
+ dnl ICC 11 & 15 warn about non-pointer conversion from "<type>" to
dnl "<smaller>" may lose significant bits, it does however, also for
dnl constants like short s = 1234, which is too much
case $icc_ver in
11.*) X_CFLAGS="$X_CFLAGS,2259" ;;
+ 15.*) X_CFLAGS="$X_CFLAGS,2259" ;;
esac
case $icc_ver in
8.[[1-9]]*) X_CFLAGS="$X_CFLAGS,1572" ;;
@@ -1055,6 +1058,10 @@ if test "x$enable_optimize" = xyes; then
dnl We need to use -mp instead of -mp1 as otherwise nextafter()
& nextafterf() do not work correctly for 0
x86_64-*-*-11.*) CFLAGS="$CFLAGS -mp -O3 -restrict -unroll
-axSSE4.2 ";;
+ dnl -mp does no longer exist with icc 15; not tested whether we
can use -mp1, again ...
+ dnl adding -axSSE4.2 (or even -axCORE-AVX512) results in errors
like
+ dnl "error: ODBCFetch has been targeted for automatic cpu
dispatch" ...
+ x86_64-*-*-15.*) CFLAGS="$CFLAGS -O3 -restrict -unroll
-no-inline-max-size -no-inline-max-total-size";;
i*86-*-*-8.*) CFLAGS="$CFLAGS -mp1 -O3 -restrict -unroll
-tpp6 -axKWNPB";;
i*86-*-*-9.*) CFLAGS="$CFLAGS -mp1 -O3 -restrict -unroll
-tpp6 -axKWNPB";;
diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c
--- a/gdk/gdk_search.c
+++ b/gdk/gdk_search.c
@@ -123,28 +123,13 @@ HASHmask(BUN cnt)
static void
HASHclear(Hash *h)
{
- BUN i, j = h->mask, nil = HASHnil(h);
-
- switch (h->width) {
- case 1:
- for (i = 0; i <= j; i++)
- HASHput1(h, i, nil);
- break;
- case 2:
- for (i = 0; i <= j; i++)
- HASHput2(h, i, nil);
- break;
- case 4:
- for (i = 0; i <= j; i++)
- HASHput4(h, i, nil);
- break;
-#if SIZEOF_BUN == 8
- case 8:
- for (i = 0; i <= j; i++)
- HASHput8(h, i, nil);
- break;
-#endif
- }
+ /* since BUN2_NONE, BUN4_NONE, BUN8_NONE
+ * are all equal to -1 (~0), i.e., have all bits set,
+ * we can use a simple memset() to clear the Hash,
+ * rather than iteratively assigning individual
+ * BUNi_NONE values in a for-loop
+ */
+ memset(h->Hash, 0xFF, (h->mask + 1) * h->width);
}
Hash *
@@ -153,6 +138,8 @@ HASHnew(Heap *hp, int tpe, BUN size, BUN
Hash *h = NULL;
int width = HASHwidth(size);
+fprintf(stderr,"## HASHnew(tpe=%d,size="BUNFMT",mask="BUNFMT"): width = %d
##\n", tpe, size, mask, width);
+
if (HEAPalloc(hp, mask + size, width) < 0)
return NULL;
hp->free = (mask + size) * width;
diff --git a/monetdb5/modules/atoms/uuid.c b/monetdb5/modules/atoms/uuid.c
--- a/monetdb5/modules/atoms/uuid.c
+++ b/monetdb5/modules/atoms/uuid.c
@@ -237,8 +237,6 @@ UUIDequal(bit *retval, uuid **l, uuid **
return MAL_SUCCEED;
}
-/* taken from gdk_search.h */
-#define mix_int(X) (((X)>>7)^((X)>>13)^((X)>>21)^(X))
BUN
UUIDhash(const void *v)
{
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list