From fd6fcbc0063876e14cbb52bac2902d570b4e28b2 Mon Sep 17 00:00:00 2001 From: Teresa Johnson Date: Thu, 22 Feb 2018 20:57:05 +0000 Subject: [PATCH] [ThinLTO/gold] Perform cache pruning when cache directory specified Summary: As pointed out in the review for D37993, for consistency with other linkers, gold plugin should perform cache pruning whenever there is a cache directory specified, which will use the default cache policy. Reviewers: pcc Subscribers: llvm-commits, inglorion Differential Revision: https://reviews.llvm.org/D43389 llvm-svn: 325830 --- llvm/test/tools/gold/X86/cache.ll | 6 ++++-- llvm/tools/gold/gold-plugin.cpp | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/llvm/test/tools/gold/X86/cache.ll b/llvm/test/tools/gold/X86/cache.ll index 11c766b..51ffee2 100644 --- a/llvm/test/tools/gold/X86/cache.ll +++ b/llvm/test/tools/gold/X86/cache.ll @@ -8,7 +8,8 @@ ; RUN: --plugin-opt=cache-dir=%t.cache \ ; RUN: -o %t3.o %t2.o %t.o -; RUN: ls %t.cache | count 0 +; We should just get the timestamp file +; RUN: ls %t.cache | count 1 ; Verify that enabling caching is working with module with hash. @@ -22,7 +23,8 @@ ; RUN: --plugin-opt=cache-dir=%t.cache \ ; RUN: -o %t3.o %t2.o %t.o -; RUN: ls %t.cache | count 2 +; Two cached objects, plus a timestamp file +; RUN: ls %t.cache | count 3 ; Create two files that would be removed by cache pruning due to age. diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp index a28cf32..19804a1 100644 --- a/llvm/tools/gold/gold-plugin.cpp +++ b/llvm/tools/gold/gold-plugin.cpp @@ -1014,7 +1014,7 @@ static ld_plugin_status cleanup_hook(void) { } // Prune cache - if (!options::cache_policy.empty()) { + if (!options::cache_dir.empty()) { CachePruningPolicy policy = check(parseCachePruningPolicy(options::cache_policy)); pruneCache(options::cache_dir, policy); } -- 2.7.4