1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/include/llvm/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
..
legacy Add a ThinLTO cache policy for controlling the maximum cache size in bytes. 2017-06-23 17:05:03 +00:00
Caching.h LTO: Try to open cache files before renaming them. 2017-09-05 19:51:38 +00:00
Config.h Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00
LTO.h [LTO] Prevent dead stripping and internalization of symbols with sections 2017-07-25 19:42:32 +00:00
LTOBackend.h IPO: Const correctness for summaries passed into passes. 2017-03-22 18:22:59 +00:00