Use isWeakForLinker() hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53318 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp
index 483af12..0c74d5a 100644
--- a/lib/Target/TargetAsmInfo.cpp
+++ b/lib/Target/TargetAsmInfo.cpp
@@ -228,9 +228,7 @@
assert(0 && "Unexpected section kind!");
}
- if (GV->hasLinkOnceLinkage() ||
- GV->hasWeakLinkage() ||
- GV->hasCommonLinkage())
+ if (GV->isWeakForLinker())
Flags |= SectionFlags::Linkonce;
}
@@ -289,9 +287,7 @@
TargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const {
SectionKind::Kind Kind = SectionKindForGlobal(GV);
- if (GV->hasLinkOnceLinkage() ||
- GV->hasWeakLinkage() ||
- GV->hasCommonLinkage())
+ if (GV->isWeakForLinker())
return UniqueSectionForGlobal(GV, Kind);
else {
if (Kind == SectionKind::Text)
diff --git a/lib/Target/X86/X86ATTAsmPrinter.cpp b/lib/Target/X86/X86ATTAsmPrinter.cpp
index 0394b6c..0236e49 100644
--- a/lib/Target/X86/X86ATTAsmPrinter.cpp
+++ b/lib/Target/X86/X86ATTAsmPrinter.cpp
@@ -399,10 +399,7 @@
if (shouldPrintStub(TM, Subtarget)) {
// Link-once, declaration, or Weakly-linked global variables need
// non-lazily-resolved stubs
- if (GV->isDeclaration() ||
- GV->hasWeakLinkage() ||
- GV->hasLinkOnceLinkage() ||
- GV->hasCommonLinkage()) {
+ if (GV->isDeclaration() || GV->isWeakForLinker()) {
// Dynamically-resolved functions need a stub for the function.
if (isCallOp && isa<Function>(GV)) {
FnStubs.insert(Name);
@@ -802,8 +799,7 @@
}
if (!GVar->isThreadLocal() &&
- (GVar->hasInternalLinkage() || GVar->hasWeakLinkage() ||
- GVar->hasLinkOnceLinkage() || GVar->hasCommonLinkage())) {
+ (GVar->hasInternalLinkage() || GVar->isWeakForLinker())) {
if (Size == 0) Size = 1; // .comm Foo, 0 is undefined, avoid it.
if (TAI->getLCOMMDirective() != NULL) {
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index 0fdc0ee..dd1bdb8 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -224,9 +224,7 @@
std::string
X86DarwinTargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const {
SectionKind::Kind Kind = SectionKindForGlobal(GV);
- bool isWeak = GV->hasWeakLinkage() ||
- GV->hasCommonLinkage() ||
- GV->hasLinkOnceLinkage();
+ bool isWeak = GV->isWeakForLinker();
switch (Kind) {
case SectionKind::Text:
@@ -435,9 +433,7 @@
return UniqueSectionForGlobal(F, kind);
}
} else if (const GlobalVariable *GVar = dyn_cast<GlobalVariable>(GV)) {
- if (GVar->hasCommonLinkage() ||
- GVar->hasLinkOnceLinkage() ||
- GVar->hasWeakLinkage())
+ if (GVar->isWeakForLinker()
return UniqueSectionForGlobal(GVar, kind);
else {
switch (kind) {