[llvm] r232540 - Address review comments

David Majnemer david.majnemer at gmail.com
Tue Mar 17 13:39:40 PDT 2015


Author: majnemer
Date: Tue Mar 17 15:39:40 2015
New Revision: 232540

URL: http://llvm.org/viewvc/llvm-project?rev=232540&view=rev
Log:
Address review comments

Modified:
    llvm/trunk/include/llvm/IR/Mangler.h
    llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    llvm/trunk/lib/IR/Mangler.cpp

Modified: llvm/trunk/include/llvm/IR/Mangler.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Mangler.h?rev=232540&r1=232539&r2=232540&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/Mangler.h (original)
+++ llvm/trunk/include/llvm/IR/Mangler.h Tue Mar 17 15:39:40 2015
@@ -52,9 +52,11 @@ public:
   /// If the global variable doesn't have a name, this fills in a unique name
   /// for the global.
   void getNameWithPrefix(raw_ostream &OS, const GlobalValue *GV,
-                         bool CannotUsePrivateLabel) const;
+                         bool CannotUsePrivateLabel,
+                         bool ForceNonPrivate = false) const;
   void getNameWithPrefix(SmallVectorImpl<char> &OutName, const GlobalValue *GV,
-                         bool CannotUsePrivateLabel) const;
+                         bool CannotUsePrivateLabel,
+                         bool ForceNonPrivate = false) const;
 
   /// Print the appropriate prefix and the specified name as the global variable
   /// name. GVName must not be empty.

Modified: llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp?rev=232540&r1=232539&r2=232540&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp (original)
+++ llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp Tue Mar 17 15:39:40 2015
@@ -960,13 +960,8 @@ void TargetLoweringObjectFileCOFF::getNa
       ((isa<Function>(GV) && TM.getFunctionSections()) ||
        (isa<GlobalVariable>(GV) && TM.getDataSections()))) {
     SmallString<256> Tmp;
-    Mang.getNameWithPrefix(Tmp, GV, /*CannotUsePrivateLabel=*/false);
-    if (Tmp.startswith(".L"))
-      OutName.append(Tmp.begin() + 2, Tmp.end());
-    else if (Tmp.startswith("L"))
-      OutName.append(Tmp.begin() + 1, Tmp.end());
-    else
-      OutName.append(Tmp.begin(), Tmp.end());
+    Mang.getNameWithPrefix(Tmp, GV, CannotUsePrivateLabel, /*ForceNonPrivate=*/true);
+    OutName.append(Tmp.begin(), Tmp.end());
     return;
   }
   Mang.getNameWithPrefix(OutName, GV, CannotUsePrivateLabel);

Modified: llvm/trunk/lib/IR/Mangler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Mangler.cpp?rev=232540&r1=232539&r2=232540&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Mangler.cpp (original)
+++ llvm/trunk/lib/IR/Mangler.cpp Tue Mar 17 15:39:40 2015
@@ -91,9 +91,10 @@ static void addByteCountSuffix(raw_ostre
 }
 
 void Mangler::getNameWithPrefix(raw_ostream &OS, const GlobalValue *GV,
-                                bool CannotUsePrivateLabel) const {
+                                bool CannotUsePrivateLabel,
+                                bool ForceNonPrivate) const {
   ManglerPrefixTy PrefixTy = Mangler::Default;
-  if (GV->hasPrivateLinkage()) {
+  if (GV->hasPrivateLinkage() && !ForceNonPrivate) {
     if (CannotUsePrivateLabel)
       PrefixTy = Mangler::LinkerPrivate;
     else
@@ -152,7 +153,8 @@ void Mangler::getNameWithPrefix(raw_ostr
 
 void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName,
                                 const GlobalValue *GV,
-                                bool CannotUsePrivateLabel) const {
+                                bool CannotUsePrivateLabel,
+                                bool ForceNonPrivate) const {
   raw_svector_ostream OS(OutName);
-  getNameWithPrefix(OS, GV, CannotUsePrivateLabel);
+  getNameWithPrefix(OS, GV, CannotUsePrivateLabel, ForceNonPrivate);
 }





More information about the llvm-commits mailing list