diff options
Diffstat (limited to 'lib/Transforms/Utils/FunctionImportUtils.cpp')
| -rw-r--r-- | lib/Transforms/Utils/FunctionImportUtils.cpp | 13 | 
1 files changed, 4 insertions, 9 deletions
| diff --git a/lib/Transforms/Utils/FunctionImportUtils.cpp b/lib/Transforms/Utils/FunctionImportUtils.cpp index 6b5f593073b4..479816a339d0 100644 --- a/lib/Transforms/Utils/FunctionImportUtils.cpp +++ b/lib/Transforms/Utils/FunctionImportUtils.cpp @@ -206,15 +206,10 @@ void FunctionImportGlobalProcessing::processGlobalForThinLTO(GlobalValue &GV) {    // definition.    if (GV.hasName()) {      ValueInfo VI = ImportIndex.getValueInfo(GV.getGUID()); -    if (VI) { -      // Need to check all summaries are local in case of hash collisions. -      bool IsLocal = VI.getSummaryList().size() && -          llvm::all_of(VI.getSummaryList(), -                       [](const std::unique_ptr<GlobalValueSummary> &Summary) { -                         return Summary->isDSOLocal(); -                       }); -      if (IsLocal) -        GV.setDSOLocal(true); +    if (VI && VI.isDSOLocal()) { +      GV.setDSOLocal(true); +      if (GV.hasDLLImportStorageClass()) +        GV.setDLLStorageClass(GlobalValue::DefaultStorageClass);      }    } | 
