[llvm-commits] [llvm] r75541 - in /llvm/trunk: lib/VMCore/Mangler.cpp test/CodeGen/X86/2008-04-02-unnamedEH.ll

Chris Lattner sabre at nondot.org
Mon Jul 13 15:48:46 PDT 2009


Author: lattner
Date: Mon Jul 13 17:48:46 2009
New Revision: 75541

URL: http://llvm.org/viewvc/llvm-project?rev=75541&view=rev
Log:
Two changes:
1) unique globals with the existing "Count" local in Mangler, not with
atomic nonsense.  Using atomics will give us nondeterminstic output
from the compiler when using multiple threads, which is bad.

2) Do not mangle an unknown global name with a type suffix.  We don't
   need this anymore now that llvm ir doesn't have type planes.

Modified:
    llvm/trunk/lib/VMCore/Mangler.cpp
    llvm/trunk/test/CodeGen/X86/2008-04-02-unnamedEH.ll

Modified: llvm/trunk/lib/VMCore/Mangler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Mangler.cpp?rev=75541&r1=75540&r2=75541&view=diff

==============================================================================
--- llvm/trunk/lib/VMCore/Mangler.cpp (original)
+++ llvm/trunk/lib/VMCore/Mangler.cpp Mon Jul 13 17:48:46 2009
@@ -14,7 +14,6 @@
 #include "llvm/Support/Mangler.h"
 #include "llvm/DerivedTypes.h"
 #include "llvm/Module.h"
-#include "llvm/System/Atomic.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/StringMap.h"
@@ -151,7 +150,7 @@
 }
 
 
-std::string Mangler::getValueName(const GlobalValue *GV, const char * Suffix) {
+std::string Mangler::getValueName(const GlobalValue *GV, const char *Suffix) {
   // Check to see whether we've already named V.
   std::string &Name = Memo[GV];
   if (!Name.empty())
@@ -164,13 +163,7 @@
     Name = GV->getNameStart(); // Is an intrinsic function
   } else if (!GV->hasName()) {
     // Must mangle the global into a unique ID.
-    unsigned TypeUniqueID = getTypeID(GV->getType());
-    static uint32_t GlobalID = 0;
-    
-    unsigned OldID = GlobalID;
-    sys::AtomicIncrement(&GlobalID);
-    
-    Name = "__unnamed_" + utostr(TypeUniqueID) + "_" + utostr(OldID);
+    Name = "__unnamed_" + utostr(Count++);
   } else {
     if (GV->hasPrivateLinkage())
       Name = makeNameProper(GV->getName() + Suffix, Prefix, PrivatePrefix);

Modified: llvm/trunk/test/CodeGen/X86/2008-04-02-unnamedEH.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/2008-04-02-unnamedEH.ll?rev=75541&r1=75540&r2=75541&view=diff

==============================================================================
--- llvm/trunk/test/CodeGen/X86/2008-04-02-unnamedEH.ll (original)
+++ llvm/trunk/test/CodeGen/X86/2008-04-02-unnamedEH.ll Mon Jul 13 17:48:46 2009
@@ -1,5 +1,4 @@
-; RUN: llvm-as < %s | llc | grep unnamed_1_0.eh
-; ModuleID = '<stdin>'
+; RUN: llvm-as < %s | llc | grep unnamed_0.eh
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
 target triple = "i386-apple-darwin8"
 





More information about the llvm-commits mailing list