Branch and cache miss speedups
[fio.git] / compiler / compiler.h
index 8dec350b9f9eb4e1c495e5c7aa1174b60169cbd3..0a0213b60fca5204cb9d0294ffb01139baa23083 100644 (file)
 #define __must_check
 #endif
 
-#define uninitialized_var(x) x = x
+/*
+ * Mark unused variables passed to ops functions as unused, to silence gcc
+ */
+#define fio_unused     __attribute__((__unused__))
+#define fio_init       __attribute__((constructor))
+#define fio_exit       __attribute__((destructor))
 
-#ifndef _weak
-#ifndef __CYGWIN__
-#define _weak  __attribute__((weak))
-#else
-#define _weak
-#endif
-#endif
+#define fio_unlikely(x)        __builtin_expect(!!(x), 0)
 
 #endif