OSDN Git Service

Allow an arbitrary prefix
authorChris Lattner <sabre@nondot.org>
Tue, 17 Aug 2004 06:06:54 +0000 (06:06 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 17 Aug 2004 06:06:54 +0000 (06:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15865 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Mangler.cpp

index bf989b4..ed58da0 100644 (file)
@@ -75,8 +75,7 @@ std::string Mangler::getValueName(const Value *V) {
     if (gv && isa<Function>(gv) && cast<Function>(gv)->getIntrinsicID()) {
       name = gv->getName(); // Is an intrinsic function
     } else if (gv && !gv->hasInternalLinkage() && !MangledGlobals.count(gv)) {
-      name = makeNameProper(gv->getName());
-      if (AddUnderscorePrefix) name = "_" + name;
+      name = Prefix + makeNameProper(gv->getName());
     } else {
       // Non-global, or global with internal linkage / colliding name
       // -> mangle.
@@ -115,8 +114,8 @@ void Mangler::InsertName(GlobalValue *GV,
 }
 
 
-Mangler::Mangler(Module &m, bool addUnderscorePrefix)
-  : M(m), AddUnderscorePrefix(addUnderscorePrefix), TypeCounter(0), Count(0) {
+Mangler::Mangler(Module &m, const char *prefix)
+  : M(m), Prefix(prefix), TypeCounter(0), Count(0) {
   // Calculate which global values have names that will collide when we throw
   // away type information.
   std::map<std::string, GlobalValue*> Names;