]> granicus.if.org Git - llvm/commitdiff
ThinLTOCodeGenerator: ignore 0 values for the cache settings.
authorMehdi Amini <mehdi.amini@apple.com>
Mon, 9 May 2016 05:16:30 +0000 (05:16 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Mon, 9 May 2016 05:16:30 +0000 (05:16 +0000)
From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268890 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm-c/lto.h
include/llvm/LTO/ThinLTOCodeGenerator.h

index 21a1ea4598c1a3e50de63d9890e61afc0e7d8575..39acdc7c7dc58b381d5c9e0261ac53b6eee6636d 100644 (file)
@@ -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
  */
index f2cc94dab460e63e5b51c3447410a18bc41cadeb..f71873b82326791e6c54eb7ccf4fd96b22ca450b 100644 (file)
@@ -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;
   }
 
   /**@}*/