summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm-c/lto.h9
-rw-r--r--llvm/include/llvm/LTO/ThinLTOCodeGenerator.h17
2 files changed, 17 insertions, 9 deletions
diff --git a/llvm/include/llvm-c/lto.h b/llvm/include/llvm-c/lto.h
index 21a1ea4598c..39acdc7c7dc 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 f2cc94dab46..f71873b8232 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;
}
/**@}*/
OpenPOWER on IntegriCloud