Add BlockFrequency class.
[oota-llvm.git] / include / llvm / Support / LeakDetector.h
index dadbac1efa4a09e69ca38cbf3670f3c107c8a9bd..501a9db72c154b437c5d776f2777b7d218f4f502 100644 (file)
@@ -1,4 +1,11 @@
-//===-- Support/LeakDetector.h - Provide simple leak detection --*- C++ -*-===//
+//===-- llvm/Support/LeakDetector.h - Provide leak detection ----*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 //
 // This file defines a class that can be used to provide very simple memory leak
 // checks for an API.  Basically LLVM uses this to make sure that Instructions,
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef SUPPORT_LEAK_DETECTOR_H
-#define SUPPORT_LEAK_DETECTOR_H
+#ifndef LLVM_SUPPORT_LEAKDETECTOR_H
+#define LLVM_SUPPORT_LEAKDETECTOR_H
 
 #include <string>
+
+namespace llvm {
+
+class LLVMContext;
 class Value;
 
 struct LeakDetector {
@@ -38,7 +49,7 @@ struct LeakDetector {
     removeGarbageObjectImpl(Object);
 #endif
   }
-  
+
   /// checkForGarbage - Traverse the internal representation of garbage
   /// pointers.  If there are any pointers that have been add'ed, but not
   /// remove'd, big obnoxious warnings about memory leaks are issued.
@@ -46,9 +57,9 @@ struct LeakDetector {
   /// The specified message will be printed indicating when the check was
   /// performed.
   ///
-  static void checkForGarbage(const std::string &Message) {
+  static void checkForGarbage(LLVMContext &C, const std::string &Message) {
 #ifndef NDEBUG
-    checkForGarbageImpl(Message);
+    checkForGarbageImpl(C, Message);
 #endif
   }
 
@@ -73,7 +84,9 @@ private:
   static void removeGarbageObjectImpl(const Value *Object);
   static void addGarbageObjectImpl(void *Object);
   static void removeGarbageObjectImpl(void *Object);
-  static void checkForGarbageImpl(const std::string &Message);
+  static void checkForGarbageImpl(LLVMContext &C, const std::string &Message);
 };
 
+} // End llvm namespace
+
 #endif