OSDN Git Service

Make sure intrinsics that are lowered to functions make the function weak
authorReid Spencer <rspencer@reidspencer.com>
Thu, 12 Apr 2007 21:53:38 +0000 (21:53 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 12 Apr 2007 21:53:38 +0000 (21:53 +0000)
linkage so we only end up with one of them in a program. These are, after
all overloaded and templatish in nature.

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

lib/CodeGen/IntrinsicLowering.cpp

index e2c33b2..501c12c 100644 (file)
@@ -264,7 +264,7 @@ static Instruction *LowerPartSelect(CallInst *CI) {
       Name[i] = '_';
   Module* M = F->getParent();
   F = cast<Function>(M->getOrInsertFunction(Name, FT));
-  F->setLinkage(GlobalValue::InternalLinkage);
+  F->setLinkage(GlobalValue::WeakLinkage);
 
   // If we haven't defined the impl function yet, do so now
   if (F->isDeclaration()) {
@@ -437,7 +437,7 @@ static Instruction *LowerPartSet(CallInst *CI) {
       Name[i] = '_';
   Module* M = F->getParent();
   F = cast<Function>(M->getOrInsertFunction(Name, FT));
-  F->setLinkage(GlobalValue::InternalLinkage);
+  F->setLinkage(GlobalValue::WeakLinkage);
 
   // If we haven't defined the impl function yet, do so now
   if (F->isDeclaration()) {