Remove TargetOptions.h dependency from X86Subtarget.
[oota-llvm.git] / lib / Target / Mangler.cpp
index fc2f78d5b620137a6aac5ae089795c8f2c46cc44..46c687b64001dfcf1ded0ca80d261b5ceb2964fb 100644 (file)
@@ -118,9 +118,6 @@ void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName,
     } else if (PrefixTy == Mangler::LinkerPrivate) {
       const char *Prefix = MAI.getLinkerPrivateGlobalPrefix();
       OutName.append(Prefix, Prefix+strlen(Prefix));
-    } else if (PrefixTy == Mangler::LinkerWeak) {
-      const char *Prefix = MAI.getLinkerWeakGlobalPrefix();
-      OutName.append(Prefix, Prefix+strlen(Prefix));
     }
 
     const char *Prefix = MAI.getGlobalPrefix();
@@ -183,10 +180,9 @@ void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName,
   ManglerPrefixTy PrefixTy = Mangler::Default;
   if (GV->hasPrivateLinkage() || isImplicitlyPrivate)
     PrefixTy = Mangler::Private;
-  else if (GV->hasLinkerPrivateLinkage())
+  else if (GV->hasLinkerPrivateLinkage() || GV->hasLinkerPrivateWeakLinkage() ||
+           GV->hasLinkerPrivateWeakDefAutoLinkage())
     PrefixTy = Mangler::LinkerPrivate;
-  else if (GV->hasLinkerWeakLinkage())
-    PrefixTy = Mangler::LinkerWeak;
   
   // If this global has a name, handle it simply.
   if (GV->hasName()) {
@@ -228,16 +224,6 @@ void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName,
   }
 }
 
-/// getNameWithPrefix - Fill OutName with the name of the appropriate prefix
-/// and the specified global variable's name.  If the global variable doesn't
-/// have a name, this fills in a unique name for the global.
-std::string Mangler::getNameWithPrefix(const GlobalValue *GV,
-                                       bool isImplicitlyPrivate) {
-  SmallString<64> Buf;
-  getNameWithPrefix(Buf, GV, isImplicitlyPrivate);
-  return std::string(Buf.begin(), Buf.end());
-}
-
 /// getSymbol - Return the MCSymbol for the specified global value.  This
 /// symbol is the main label that is the address of the global.
 MCSymbol *Mangler::getSymbol(const GlobalValue *GV) {