diff options
| author | Chris Lattner <sabre@nondot.org> | 2004-04-05 20:17:53 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2004-04-05 20:17:53 +0000 | 
| commit | 6e40e1d15c70d21b582dc8273f727aadc751a380 (patch) | |
| tree | f05bdf03c82b07150b3d89ab0086305f02fa8f88 /lib/Support | |
| parent | 30878f42c27d48be67717e3c2248cbda99cbe2fe (diff) | |
Do not mangle intrinsics in any way!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12673 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support')
| -rw-r--r-- | lib/Support/Mangler.cpp | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/lib/Support/Mangler.cpp b/lib/Support/Mangler.cpp index 0982efd8cd..0705c9b608 100644 --- a/lib/Support/Mangler.cpp +++ b/lib/Support/Mangler.cpp @@ -56,13 +56,16 @@ std::string Mangler::getValueName(const Value *V) {    std::string name;    if (V->hasName()) { // Print out the label if it exists...      // Name mangling occurs as follows: +    // - If V is an intrinsic function, do not change name at all      // - If V is not a global, mangling always occurs.      // - Otherwise, mangling occurs when any of the following are true:      //   1) V has internal linkage      //   2) V's name would collide if it is not mangled.      //      const GlobalValue* gv = dyn_cast<GlobalValue>(V); -    if (gv && !gv->hasInternalLinkage() && !MangledGlobals.count(gv)) { +    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;      } else { | 
