summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-07-30 15:57:51 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-07-30 15:57:51 +0000
commit3cf4af11d5386fcd253ad581193dbd22ad665bb7 (patch)
treecbaf1d451032c2f4abda71458d9164bef44c2e71
parent21ab24edfb4f2433d4b17656df6fdaf7edcdf290 (diff)
downloadbcm5719-llvm-3cf4af11d5386fcd253ad581193dbd22ad665bb7.tar.gz
bcm5719-llvm-3cf4af11d5386fcd253ad581193dbd22ad665bb7.zip
Add the missing hasLinkOnceODRLinkage predicate.
llvm-svn: 214312
-rw-r--r--llvm/include/llvm/IR/GlobalValue.h1
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp3
-rw-r--r--llvm/lib/LTO/LTOModule.cpp4
-rw-r--r--llvm/lib/Transforms/IPO/Inliner.cpp3
4 files changed, 4 insertions, 7 deletions
diff --git a/llvm/include/llvm/IR/GlobalValue.h b/llvm/include/llvm/IR/GlobalValue.h
index 68e410ba4b8..d42d0a9c392 100644
--- a/llvm/include/llvm/IR/GlobalValue.h
+++ b/llvm/include/llvm/IR/GlobalValue.h
@@ -246,6 +246,7 @@ public:
bool hasLinkOnceLinkage() const {
return isLinkOnceLinkage(Linkage);
}
+ bool hasLinkOnceODRLinkage() const { return isLinkOnceODRLinkage(Linkage); }
bool hasWeakLinkage() const {
return isWeakLinkage(Linkage);
}
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 226e4204224..99179b6181b 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -253,8 +253,7 @@ bool AsmPrinter::doInitialization(Module &M) {
}
static bool canBeHidden(const GlobalValue *GV, const MCAsmInfo &MAI) {
- GlobalValue::LinkageTypes Linkage = GV->getLinkage();
- if (Linkage != GlobalValue::LinkOnceODRLinkage)
+ if (!GV->hasLinkOnceODRLinkage())
return false;
if (!MAI.hasWeakDefCanBeHiddenDirective())
diff --git a/llvm/lib/LTO/LTOModule.cpp b/llvm/lib/LTO/LTOModule.cpp
index 3600baa5bbf..1c8e36d743e 100644
--- a/llvm/lib/LTO/LTOModule.cpp
+++ b/llvm/lib/LTO/LTOModule.cpp
@@ -349,9 +349,7 @@ void LTOModule::addDefinedFunctionSymbol(const char *Name, const Function *F) {
static bool canBeHidden(const GlobalValue *GV) {
// FIXME: this is duplicated with another static function in AsmPrinter.cpp
- GlobalValue::LinkageTypes L = GV->getLinkage();
-
- if (L != GlobalValue::LinkOnceODRLinkage)
+ if (!GV->hasLinkOnceODRLinkage())
return false;
if (GV->hasUnnamedAddr())
diff --git a/llvm/lib/Transforms/IPO/Inliner.cpp b/llvm/lib/Transforms/IPO/Inliner.cpp
index 9087ab23bb7..a09387832df 100644
--- a/llvm/lib/Transforms/IPO/Inliner.cpp
+++ b/llvm/lib/Transforms/IPO/Inliner.cpp
@@ -357,8 +357,7 @@ bool Inliner::shouldInline(CallSite CS) {
// FIXME: All of this logic should be sunk into getInlineCost. It relies on
// the internal implementation of the inline cost metrics rather than
// treating them as truly abstract units etc.
- if (Caller->hasLocalLinkage() ||
- Caller->getLinkage() == GlobalValue::LinkOnceODRLinkage) {
+ if (Caller->hasLocalLinkage() || Caller->hasLinkOnceODRLinkage()) {
int TotalSecondaryCost = 0;
// The candidate cost to be imposed upon the current function.
int CandidateCost = IC.getCost() - (InlineConstants::CallPenalty + 1);
OpenPOWER on IntegriCloud