diff options
author | Teresa Johnson <tejohnson@google.com> | 2016-05-24 18:44:01 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@google.com> | 2016-05-24 18:44:01 +0000 |
commit | 82332cd02ef0ae375797d96f4f2646c36d8979ed (patch) | |
tree | 66292e5aa1ea5b35b39aa25d7628dd5ef0cc9a7b | |
parent | d7b9b912ddec8e58b132bd726b47613d2e3be9b1 (diff) |
[ThinLTO] Fix bot failures by avoiding threaded map modifications
Ensure multiple threads won't have to modify map, probable cause of
bot failures from r270584 such as:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/13095
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270595 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/LTO/ThinLTOCodeGenerator.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/LTO/ThinLTOCodeGenerator.cpp b/lib/LTO/ThinLTOCodeGenerator.cpp index bfcff4c9cfe..d746d47a2d7 100644 --- a/lib/LTO/ThinLTOCodeGenerator.cpp +++ b/lib/LTO/ThinLTOCodeGenerator.cpp @@ -937,10 +937,12 @@ void ThinLTOCodeGenerator::run() { // Changes are made in the index, consumed in the ThinLTO backends. thinLTOInternalizeAndPromoteInIndex(*Index, isExported); - // Make sure that every module has an entry in the ExportLists to enable - // threaded access to this map below - for (auto &DefinedGVSummaries : ModuleToDefinedGVSummaries) + // Make sure that every module has an entry in the ExportLists and + // ResolvedODR maps to enable threaded access to these maps below. + for (auto &DefinedGVSummaries : ModuleToDefinedGVSummaries) { ExportLists[DefinedGVSummaries.first()]; + ResolvedODR[DefinedGVSummaries.first()]; + } // Compute the ordering we will process the inputs: the rough heuristic here // is to sort them per size so that the largest module get schedule as soon as |