aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/LTO/LTO.cpp
diff options
context:
space:
mode:
authorWei Wang <apollo.mobility@gmail.com>2021-02-09 21:14:43 -0800
committerWei Wang <apollo.mobility@gmail.com>2021-02-12 22:58:26 -0800
commit80dc0661bd8bba92fb0843cac3bdc061c093039f (patch)
tree1d77709bfd8604bd65dc1086606c9ff717ba32da /llvm/lib/LTO/LTO.cpp
parent1f6ec3d08f75dba6c93c291bd92552b807736eb3 (diff)
downloadllvm-80dc0661bd8bba92fb0843cac3bdc061c093039f.zip
llvm-80dc0661bd8bba92fb0843cac3bdc061c093039f.tar.gz
llvm-80dc0661bd8bba92fb0843cac3bdc061c093039f.tar.bz2
[LTO] Perform DSOLocal propagation in combined index
Perform DSOLocal propagation within summary list of every GV. This avoids the repeated query of this information during function importing. Differential Revision: https://reviews.llvm.org/D96398
Diffstat (limited to 'llvm/lib/LTO/LTO.cpp')
-rw-r--r--llvm/lib/LTO/LTO.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp
index 375d205..ea576269 100644
--- a/llvm/lib/LTO/LTO.cpp
+++ b/llvm/lib/LTO/LTO.cpp
@@ -207,7 +207,7 @@ void llvm::computeLTOCacheKey(
AddUnsigned(GS->isLive());
AddUnsigned(GS->canAutoHide());
for (const ValueInfo &VI : GS->refs()) {
- AddUnsigned(VI.isDSOLocal());
+ AddUnsigned(VI.isDSOLocal(Index.withDSOLocalPropagation()));
AddUsedCfiGlobal(VI.getGUID());
}
if (auto *GVS = dyn_cast<GlobalVarSummary>(GS)) {
@@ -226,7 +226,7 @@ void llvm::computeLTOCacheKey(
for (auto &TT : FS->type_checked_load_const_vcalls())
UsedTypeIds.insert(TT.VFunc.GUID);
for (auto &ET : FS->calls()) {
- AddUnsigned(ET.first.isDSOLocal());
+ AddUnsigned(ET.first.isDSOLocal(Index.withDSOLocalPropagation()));
AddUsedCfiGlobal(ET.first.getGUID());
}
}