diff --git a/mlir/lib/IR/MLIRContext.cpp b/mlir/lib/IR/MLIRContext.cpp --- a/mlir/lib/IR/MLIRContext.cpp +++ b/mlir/lib/IR/MLIRContext.cpp @@ -331,6 +331,12 @@ public: MLIRContextImpl() : identifiers(identifierAllocator) {} + ~MLIRContextImpl() { + for (auto typeMapping : registeredTypes) + typeMapping.second->~AbstractType(); + for (auto attrMapping : registeredAttributes) + attrMapping.second->~AbstractAttribute(); + } }; } // end namespace mlir