summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Constant.h5
-rw-r--r--include/llvm/Type.h8
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