1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib/LTO
Peter Collingbourne 0ec5439ada LTO: Try to open cache files before renaming them.
It appears that a potential race between the cache client and the cache
pruner that I thought was unlikely actually happened in practice [1].
Try to avoid the race condition by opening the temporary file before
renaming it. Do this only on non-Windows platforms because we cannot
rename open files on Windows using the sys::fs::rename function.

[1] https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.memory%2FLinux_CFI%2F1610%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout

Differential Revision: https://reviews.llvm.org/D37410

llvm-svn: 312567
2017-09-05 19:51:38 +00:00
..
Caching.cpp LTO: Try to open cache files before renaming them. 2017-09-05 19:51:38 +00:00
CMakeLists.txt Support: Add a VCSRevision.h header file. 2017-04-13 01:26:12 +00:00
LLVMBuild.txt [lib/LTO] Add a way to run a custom pipeline 2016-09-07 17:46:16 +00:00
LTO.cpp Fix thinlto cache key computation for cfi-icall. 2017-08-09 23:24:07 +00:00
LTOBackend.cpp Fix the bug that parseAAPipeline is not invoked in runNewPMPasses in release compiler. 2017-08-02 03:03:19 +00:00
LTOCodeGenerator.cpp Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
LTOModule.cpp Apply summary-based dead stripping to regular LTO modules with summaries. 2017-06-15 17:26:13 +00:00
ThinLTOCodeGenerator.cpp Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
UpdateCompilerUsed.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00