diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2009-01-12 15:53:25 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2009-01-12 15:53:25 +0000 |
commit | c775ea13762224301e8242b9d3eaacd974fa6524 (patch) | |
tree | 1507dbd6ceac5354d6972294bc60cbb0064ac725 | |
parent | 1f1d6e4bfc15f47b75264ed87f037f6dd57f4db9 (diff) | |
download | external_llvm-c775ea13762224301e8242b9d3eaacd974fa6524.zip external_llvm-c775ea13762224301e8242b9d3eaacd974fa6524.tar.gz external_llvm-c775ea13762224301e8242b9d3eaacd974fa6524.tar.bz2 |
Remove some dead code from the days llvm had type planes.
There might be more dead code, but with llvm-gcc bootstrap broken on linux x86-64 it is had to test :-(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62088 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Support/Mangler.h | 5 | ||||
-rw-r--r-- | lib/VMCore/Mangler.cpp | 47 |
2 files changed, 1 insertions, 51 deletions
diff --git a/include/llvm/Support/Mangler.h b/include/llvm/Support/Mangler.h index 94f0adb..771c09e 100644 --- a/include/llvm/Support/Mangler.h +++ b/include/llvm/Support/Mangler.h @@ -51,11 +51,6 @@ class Mangler { DenseMap<const Type*, unsigned> TypeMap; unsigned TypeCounter; - /// This keeps track of which global values have had their names - /// mangled in the current module. - /// - SmallPtrSet<const GlobalValue*, 16> MangledGlobals; - /// AcceptableChars - This bitfield contains a one for each character that is /// allowed to be part of an unmangled name. unsigned AcceptableChars[256/32]; diff --git a/lib/VMCore/Mangler.cpp b/lib/VMCore/Mangler.cpp index d86d9c0..1488494 100644 --- a/lib/VMCore/Mangler.cpp +++ b/lib/VMCore/Mangler.cpp @@ -145,49 +145,13 @@ std::string Mangler::getValueName(const GlobalValue *GV, const char * Suffix) { unsigned TypeUniqueID = getTypeID(GV->getType()); static unsigned GlobalID = 0; Name = "__unnamed_" + utostr(TypeUniqueID) + "_" + utostr(GlobalID++); - } else if (!MangledGlobals.count(GV)) { - Name = makeNameProper(GV->getName() + Suffix, Prefix); } else { - unsigned TypeUniqueID = getTypeID(GV->getType()); - Name = "l" + utostr(TypeUniqueID) + "_" + makeNameProper(GV->getName()); + Name = makeNameProper(GV->getName() + Suffix, Prefix); } return Name; } -static void InsertName(GlobalValue *GV, StringMap<GlobalValue*> &Names, - SmallPtrSet<const GlobalValue*, 16> &MangledGlobals) { - if (!GV->hasName()) // We must mangle unnamed globals. - return; - - // Figure out if this is already used. - GlobalValue *&ExistingValue = Names[GV->getNameStart()]; - if (!ExistingValue) { - ExistingValue = GV; - return; - } - - // If GV is external but the existing one is static, mangle the existing one - if ((GV->hasExternalLinkage() || GV->hasDLLImportLinkage()) && - !(ExistingValue->hasExternalLinkage() - || ExistingValue->hasDLLImportLinkage())) { - MangledGlobals.insert(ExistingValue); - ExistingValue = GV; - } else if ((GV->hasExternalLinkage() || - GV->hasDLLImportLinkage()) && - (ExistingValue->hasExternalLinkage() || - ExistingValue->hasDLLImportLinkage()) && - GV->isDeclaration() && - ExistingValue->isDeclaration()) { - // If the two globals both have external inkage, and are both external, - // don't mangle either of them, we just have some silly type mismatch. - } else { - // Otherwise, mangle GV - MangledGlobals.insert(GV); - } -} - - Mangler::Mangler(Module &M, const char *prefix) : Prefix(prefix), UseQuotes(false), PreserveAsmNames(false), Count(0), TypeCounter(0) { @@ -205,13 +169,4 @@ Mangler::Mangler(Module &M, const char *prefix) markCharAcceptable('_'); markCharAcceptable('$'); markCharAcceptable('.'); - - // Calculate which global values have names that will collide when we throw - // away type information. - StringMap<GlobalValue*> Names; - for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - InsertName(I, Names, MangledGlobals); - for (Module::global_iterator I = M.global_begin(), E = M.global_end(); - I != E; ++I) - InsertName(I, Names, MangledGlobals); } |