From dfa2392f09aee9c1644265f340559953b376e41d Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Mon, 9 May 2016 05:16:30 +0000 Subject: [PATCH] ThinLTOCodeGenerator: ignore 0 values for the cache settings. From: Mehdi Amini llvm-svn: 268890 --- llvm/include/llvm-c/lto.h | 9 +++++---- llvm/include/llvm/LTO/ThinLTOCodeGenerator.h | 17 ++++++++++++----- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/llvm/include/llvm-c/lto.h b/llvm/include/llvm-c/lto.h index 21a1ea4598c1..39acdc7c7dc5 100644 --- a/llvm/include/llvm-c/lto.h +++ b/llvm/include/llvm-c/lto.h @@ -668,7 +668,8 @@ extern void thinlto_codegen_set_cache_dir(thinlto_code_gen_t cg, /** * Sets the cache pruning interval (in seconds). A negative value disable the - * pruning. An unspecified default value will be applied. + * pruning. An unspecified default value will be applied, and a value of 0 will + * be ignored. * * \since LTO_API_VERSION=18 */ @@ -679,8 +680,8 @@ extern void thinlto_codegen_set_cache_pruning_interval(thinlto_code_gen_t cg, * Sets the maximum cache size that can be persistent across build, in terms of * percentage of the available space on the the disk. Set to 100 to indicate * no limit, 50 to indicate that the cache size will not be left over half the - * available space. A value over 100 will be reduced to 100. An unspecified - * default value will be applied. + * available space. A value over 100 will be reduced to 100, a value of 0 will + * be ignored. An unspecified default value will be applied. * * The formula looks like: * AvailableSpace = FreeSpace + ExistingCacheSize @@ -693,7 +694,7 @@ extern void thinlto_codegen_set_final_cache_size_relative_to_available_space( /** * Sets the expiration (in seconds) for an entry in the cache. An unspecified - * default value will be applied. + * default value will be applied. A value of 0 will be ignored. * * \since LTO_API_VERSION=18 */ diff --git a/llvm/include/llvm/LTO/ThinLTOCodeGenerator.h b/llvm/include/llvm/LTO/ThinLTOCodeGenerator.h index f2cc94dab460..f71873b82326 100644 --- a/llvm/include/llvm/LTO/ThinLTOCodeGenerator.h +++ b/llvm/include/llvm/LTO/ThinLTOCodeGenerator.h @@ -119,21 +119,27 @@ public: void setCacheDir(std::string Path) { CacheOptions.Path = std::move(Path); } /// Cache policy: interval (seconds) between two prune of the cache. Set to a - /// negative value (default) to disable pruning. + /// negative value (default) to disable pruning. A value of 0 will be ignored. void setCachePruningInterval(int Interval) { - CacheOptions.PruningInterval = Interval; + fprintf(stderr, "setCachePruningInterval %d\n", Interval); + if (Interval) + CacheOptions.PruningInterval = Interval; } /// Cache policy: expiration (in seconds) for an entry. + /// A value of 0 will be ignored. void setCacheEntryExpiration(unsigned Expiration) { - CacheOptions.Expiration = Expiration; + if (Expiration) + CacheOptions.Expiration = Expiration; } /** * Sets the maximum cache size that can be persistent across build, in terms * of percentage of the available space on the the disk. Set to 100 to * indicate no limit, 50 to indicate that the cache size will not be left over - * half the available space. A value over 100 will be reduced to 100. + * half the available space. A value over 100 will be reduced to 100, and a + * value of 0 will be ignored. + * * * The formula looks like: * AvailableSpace = FreeSpace + ExistingCacheSize @@ -141,7 +147,8 @@ public: * */ void setMaxCacheSizeRelativeToAvailableSpace(unsigned Percentage) { - CacheOptions.MaxPercentageOfAvailableSpace = Percentage; + if (Percentage) + CacheOptions.MaxPercentageOfAvailableSpace = Percentage; } /**@}*/