Squashed 'third_party/eigen/' changes from 61d72f6..cf794d3
Change-Id: I9b814151b01f49af6337a8605d0c42a3a1ed4c72
git-subtree-dir: third_party/eigen
git-subtree-split: cf794d3b741a6278df169e58461f8529f43bce5d
diff --git a/bench/BenchTimer.h b/bench/BenchTimer.h
index 28e2bca..ea28496 100644
--- a/bench/BenchTimer.h
+++ b/bench/BenchTimer.h
@@ -22,12 +22,19 @@
# endif
# include <windows.h>
#elif defined(__APPLE__)
-#include <CoreServices/CoreServices.h>
#include <mach/mach_time.h>
#else
# include <unistd.h>
#endif
+static void escape(void *p) {
+ asm volatile("" : : "g"(p) : "memory");
+}
+
+static void clobber() {
+ asm volatile("" : : : "memory");
+}
+
#include <Eigen/Core>
namespace Eigen
@@ -168,6 +175,7 @@
CODE; \
} \
TIMER.stop(); \
+ clobber(); \
} \
}