Add Cache Pruning support
authorMehdi Amini <mehdi.amini@apple.com>
Sat, 2 Apr 2016 03:28:26 +0000 (03:28 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Sat, 2 Apr 2016 03:28:26 +0000 (03:28 +0000)
commit27814980a362ce88a1b34834aeb3cc38e4257d2f
tree40a24cab782fc9749f198061241a11d5926fb0f3
parent4fda708624e1453c89e0520008de4780fc4fb885
Add Cache Pruning support

Incremental LTO will usea cache to store object files.
This patch handles the pruning part of the cache, exposing
a few knobs:

- Pruning interval: the implementation keeps a "timestamp" file in the
  directory and will scan it only after a given interval since the
  last modification of the timestamp file. This is for performance
  purpose, we don't want to scan continuously the folder.
- Entry expiration: this is the time after which a file that hasn't
  been used is remove from the cache.
- Maximum size: expressed in percentage of the available disk space,
  it helps to avoid that we blow up the disk space.

http://reviews.llvm.org/D18422

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 265209
llvm/include/llvm/Support/CachePruning.h [new file with mode: 0644]
llvm/lib/Support/CMakeLists.txt
llvm/lib/Support/CachePruning.cpp [new file with mode: 0644]