summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2016-05-24 18:44:01 +0000
committerTeresa Johnson <tejohnson@google.com>2016-05-24 18:44:01 +0000
commit82332cd02ef0ae375797d96f4f2646c36d8979ed (patch)
tree66292e5aa1ea5b35b39aa25d7628dd5ef0cc9a7b
parentd7b9b912ddec8e58b132bd726b47613d2e3be9b1 (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.cpp8
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