[ptr-traits] Add one more #include necessary to do strict alignment
[oota-llvm.git] / include / llvm / IR / Mangler.h
index b8c3cba48c79d2e82669ce099ad16e4ae69a8828..ea2f0c3f09f3d1a826a3d9b8df5a63a93dbe4494 100644 (file)
 #define LLVM_IR_MANGLER_H
 
 #include "llvm/ADT/DenseMap.h"
+#include "llvm/IR/GlobalValue.h"
 #include "llvm/Support/raw_ostream.h"
 
 namespace llvm {
 
 class DataLayout;
-class GlobalValue;
 template <typename T> class SmallVectorImpl;
 class Twine;
 
 class Mangler {
-public:
-  enum ManglerPrefixTy {
-    Default,               ///< Emit default string before each symbol.
-    Private,               ///< Emit "private" prefix before each symbol.
-    LinkerPrivate          ///< Emit "linker private" prefix before each symbol.
-  };
-
-private:
   /// We need to give global values the same name every time they are mangled.
   /// This keeps track of the number we give to anonymous ones.
   mutable DenseMap<const GlobalValue*, unsigned> AnonGlobalIDs;
@@ -54,11 +46,9 @@ public:
   /// Print the appropriate prefix and the specified name as the global variable
   /// name. GVName must not be empty.
   static void getNameWithPrefix(raw_ostream &OS, const Twine &GVName,
-                                const DataLayout &DL,
-                                ManglerPrefixTy PrefixTy = Mangler::Default);
+                                const DataLayout &DL);
   static void getNameWithPrefix(SmallVectorImpl<char> &OutName,
-                                const Twine &GVName, const DataLayout &DL,
-                                ManglerPrefixTy PrefixTy = Mangler::Default);
+                                const Twine &GVName, const DataLayout &DL);
 };
 
 } // End llvm namespace