From ecd91377583b9f42a006eb78aab550c2265d4c9b Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Mon, 17 Sep 2007 22:39:32 +0000 Subject: [PATCH] Add support for appending a suffix to the end of a mangled name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42071 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/Mangler.h | 2 +- lib/VMCore/Mangler.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/llvm/Support/Mangler.h b/include/llvm/Support/Mangler.h index 1cbc13c45f3..d52ff6ae556 100644 --- a/include/llvm/Support/Mangler.h +++ b/include/llvm/Support/Mangler.h @@ -94,7 +94,7 @@ public: /// getValueName - Returns the mangled name of V, an LLVM Value, /// in the current module. /// - std::string getValueName(const GlobalValue *V); + std::string getValueName(const GlobalValue *V, const char *Suffix = ""); std::string getValueName(const Value *V); /// makeNameProper - We don't want identifier names with ., space, or diff --git a/lib/VMCore/Mangler.cpp b/lib/VMCore/Mangler.cpp index 52e3d0db9bc..8b8ba598ef8 100644 --- a/lib/VMCore/Mangler.cpp +++ b/lib/VMCore/Mangler.cpp @@ -126,7 +126,7 @@ std::string Mangler::getValueName(const Value *V) { } -std::string Mangler::getValueName(const GlobalValue *GV) { +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()) @@ -143,7 +143,7 @@ std::string Mangler::getValueName(const GlobalValue *GV) { static unsigned GlobalID = 0; Name = "__unnamed_" + utostr(TypeUniqueID) + "_" + utostr(GlobalID++); } else if (!MangledGlobals.count(GV)) { - Name = makeNameProper(GV->getName(), Prefix); + Name = makeNameProper(GV->getName() + Suffix, Prefix); } else { unsigned TypeUniqueID = getTypeID(GV->getType()); Name = "l" + utostr(TypeUniqueID) + "_" + makeNameProper(GV->getName());