mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-24 04:32:09 +00:00
ThinLTO: never promote as external weak
This linkage is *not* intended to express that a declaration refers to a weak symbol, but that the symbol might not be present at link time. I don't believe it was the intent. From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266856 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7e57deb8cb
commit
83dc7b6740
@ -132,7 +132,7 @@ FunctionImportGlobalProcessing::getLinkage(const GlobalValue *SGV) {
|
||||
// linker. The module linking caller needs to enforce this.
|
||||
assert(!doImportAsDefinition(SGV));
|
||||
// If imported as a declaration, it becomes external_weak.
|
||||
return GlobalValue::ExternalWeakLinkage;
|
||||
return SGV->getLinkage();
|
||||
|
||||
case GlobalValue::WeakODRLinkage:
|
||||
// For weak_odr linkage, there is a guarantee that all copies will be
|
||||
|
@ -98,7 +98,7 @@
|
||||
; reference should turned into an external_weak declaration.
|
||||
; RUN: llvm-link %t2.bc -summary-index=%t3.thinlto.bc -import=callweakfunc:%t.bc -import=weakfunc:%t.bc -S 2>&1 | FileCheck %s --check-prefix=IMPORTWEAKFUNC
|
||||
; IMPORTWEAKFUNC-DAG: Ignoring import request for weak-any function weakfunc
|
||||
; IMPORTWEAKFUNC-DAG: declare extern_weak void @weakfunc
|
||||
; IMPORTWEAKFUNC-DAG: declare void @weakfunc
|
||||
; IMPORTWEAKFUNC-DAG: define available_externally void @callweakfunc
|
||||
; IMPORTWEAKFUNC-NOT: @weakvar = extern_weak global i32, align 4
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user