Make sure intrinsics that are lowered to functions make the function weak

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
This commit is contained in:
Reid Spencer 2007-04-12 21:53:38 +00:00
parent 39cd6f1662
commit df41353497

View File

@ -264,7 +264,7 @@ static Instruction *LowerPartSelect(CallInst *CI) {
Name[i] = '_'; Name[i] = '_';
Module* M = F->getParent(); Module* M = F->getParent();
F = cast<Function>(M->getOrInsertFunction(Name, FT)); 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 we haven't defined the impl function yet, do so now
if (F->isDeclaration()) { if (F->isDeclaration()) {
@ -437,7 +437,7 @@ static Instruction *LowerPartSet(CallInst *CI) {
Name[i] = '_'; Name[i] = '_';
Module* M = F->getParent(); Module* M = F->getParent();
F = cast<Function>(M->getOrInsertFunction(Name, FT)); 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 we haven't defined the impl function yet, do so now
if (F->isDeclaration()) { if (F->isDeclaration()) {