[Mesa-dev] [PATCH] anv: Disable __gen_validate_value if NDEBUG is set.
Kenneth Graunke
kenneth at whitecape.org
Thu Jun 7 23:02:26 UTC 2018
We were enabling undefined memory checking for genxml values based on
Valgrind being installed at build time, even for release builds. This
generates piles and piles of assembly whenever you touch genxml.
With gcc 7.3.1 and -O3 and -march=native on a Kabylake with Valgrind
installed at build time:
text data bss dec hex filename
5978385 262884 13488 6254757 5f70a5 libvulkan_intel.so
3799377 262884 13488 4075749 3e30e5 libvulkan_intel.so
That's a 36% reduction in text size.
---
src/intel/vulkan/anv_private.h | 2 ++
1 file changed, 2 insertions(+)
Eric,
You probably will want to make the equivalent change in
src/broadcom/cle/v3d_packet_helpers.h
--Ken
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index b47420f89ec..b035bf1c943 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -36,7 +36,9 @@
#include <valgrind.h>
#include <memcheck.h>
#define VG(x) x
+#ifndef NDEBUG
#define __gen_validate_value(x) VALGRIND_CHECK_MEM_IS_DEFINED(&(x), sizeof(x))
+#endif
#else
#define VG(x)
#endif
--
2.17.0
More information about the mesa-dev
mailing list