diff options
-rw-r--r-- | include/llvm/Constant.h | 5 | ||||
-rw-r--r-- | include/llvm/Type.h | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/Constant.h b/include/llvm/Constant.h index 789fe70281..0d098a6074 100644 --- a/include/llvm/Constant.h +++ b/include/llvm/Constant.h @@ -92,6 +92,11 @@ public: "implemented for all constants that have operands!"); assert(0 && "Constants that do not have operands cannot be using 'From'!"); } + + /// clearAllValueMaps - This method frees all internal memory used by the + /// constant subsystem, which can be used in environments where this memory + /// is otherwise reported as a leak. + static void clearAllValueMaps(); }; } // End llvm namespace diff --git a/include/llvm/Type.h b/include/llvm/Type.h index 9602fd5a57..18b8adb0ce 100644 --- a/include/llvm/Type.h +++ b/include/llvm/Type.h @@ -288,7 +288,7 @@ public: } void dropRef() const { - assert(isAbstract() && "Cannot drop a refernce to a non-abstract type!"); + assert(isAbstract() && "Cannot drop a reference to a non-abstract type!"); assert(RefCount && "No objects are currently referencing this object!"); // If this is the last PATypeHolder using this object, and there are no @@ -296,6 +296,12 @@ public: if (--RefCount == 0) RefCountIsZero(); } + + /// clearAllTypeMaps - This method frees all internal memory used by the + /// type subsystem, which can be used in environments where this memory is + /// otherwise reported as a leak. + static void clearAllTypeMaps(); + private: /// isSizedDerivedType - Derived types like structures and arrays are sized /// iff all of the members of the type are sized as well. Since asking for |