diff --git a/utils/TableGen/NeonEmitter.cpp b/utils/TableGen/NeonEmitter.cpp
index 7644ae2c04dad1910e1af7f81e9d704969f186da..c3a387e6063154baf0ce8fc555e1ba331e70135a 100644
--- a/utils/TableGen/NeonEmitter.cpp
+++ b/utils/TableGen/NeonEmitter.cpp
@@ -532,6 +532,12 @@ public:
     ClassMap[NoTestOpI] = ClassNoTest;
   }
 
+  ~NeonEmitter() {
+    for (auto &P : IntrinsicMap)
+      for (Intrinsic *I : P.second)
+        delete I;
+  }
+
   // run - Emit arm_neon.h.inc
   void run(raw_ostream &o);