summaryrefslogtreecommitdiffstats
path: root/llvm/lib/LTO/LTO.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/LTO/LTO.cpp')
-rw-r--r--llvm/lib/LTO/LTO.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp
index b2d42f4d2a6..94a4abfb896 100644
--- a/llvm/lib/LTO/LTO.cpp
+++ b/llvm/lib/LTO/LTO.cpp
@@ -541,13 +541,15 @@ public:
ImportList, DefinedGlobals, ModuleMap);
};
- if (!Cache)
+ auto ModuleID = MBRef.getBufferIdentifier();
+ if (!Cache || !CombinedIndex.modulePaths().count(ModuleID))
+ // Cache disabled or no entry for this module in the combined index
return RunThinBackend(AddStream);
SmallString<40> Key;
// The module may be cached, this helps handling it.
- computeCacheKey(Key, CombinedIndex, MBRef.getBufferIdentifier(),
- ImportList, ExportList, ResolvedODR, DefinedGlobals);
+ computeCacheKey(Key, CombinedIndex, ModuleID, ImportList, ExportList,
+ ResolvedODR, DefinedGlobals);
if (AddStreamFn CacheAddStream = Cache(Task, Key))
return RunThinBackend(CacheAddStream);
OpenPOWER on IntegriCloud