Two changes:
authorChris Lattner <sabre@nondot.org>
Mon, 13 Jul 2009 22:48:46 +0000 (22:48 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 13 Jul 2009 22:48:46 +0000 (22:48 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75541 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Mangler.cpp
test/CodeGen/X86/2008-04-02-unnamedEH.ll

index 1a68b890542f6fde732df09e93be7925fcccb922..50724f4e424c0ee5dc8cad89b0494029984dbfbb 100644 (file)
@@ -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 Value *V) {
 }
 
 
-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 @@ std::string Mangler::getValueName(const GlobalValue *GV, const char * Suffix) {
     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);
index fff75ff660a7ba970de8b170f5b124c59e5d3c08..4d8838bf9978c1d96d427667c2ca215be9b31bda 100644 (file)
@@ -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"