diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp
index 4e7624db151928c9d066dd5962ce2ea8871739d6..1d677e7a2a10c172f579f0f3ea0cce46443ac5c2 100644
--- a/utils/TableGen/TableGen.cpp
+++ b/utils/TableGen/TableGen.cpp
@@ -263,3 +263,10 @@ int main(int argc, char **argv) {
 
   return TableGenMain(argv[0], &ClangTableGenMain);
 }
+
+extern "C" {
+// Disable LeakSanitizer for this binary as it has too many leaks that are not
+// very interesting to fix. LeakSanitizerIsTurnedOffForTheCurrentProcess is
+// explained in compiler-rt/include/sanitizer/lsan_interface.h
+int LeakSanitizerIsTurnedOffForTheCurrentProcess() { return 1; }
+} // extern "C"