summaryrefslogtreecommitdiff
path: root/tools/lto
diff options
context:
space:
mode:
authorEkaterina Romanova <katya_romanova@playstation.sony.com>2018-03-02 03:51:27 +0000
committerEkaterina Romanova <katya_romanova@playstation.sony.com>2018-03-02 03:51:27 +0000
commit76899c61ced16664d1f7db46749e3df99abb4911 (patch)
tree84cf140ec41c3d02987d840448a1be05a21f55b0 /tools/lto
parent738d9f9859222296cf88624109dcc52ffd040588 (diff)
[ThinLTO] Added a couple of C LTO API interfaces to control the cache policy.
- thinlto_codegen_set_cache_size_bytes to control the absolute size of cache directory. - thinlto_codegen_set_cache_size_files the size and amount of files in cache directory. These functions have been supported in C++ LTO API for a long time, but were absent in C LTO API. Differential Revision: https://reviews.llvm.org/D42446 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326537 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto')
-rw-r--r--tools/lto/lto.cpp10
-rw-r--r--tools/lto/lto.exports6
2 files changed, 14 insertions, 2 deletions
diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp
index e6843986dbe..997c16e0fee 100644
--- a/tools/lto/lto.cpp
+++ b/tools/lto/lto.cpp
@@ -586,6 +586,16 @@ void thinlto_codegen_set_final_cache_size_relative_to_available_space(
return unwrap(cg)->setMaxCacheSizeRelativeToAvailableSpace(Percentage);
}
+void thinlto_codegen_set_cache_size_bytes(
+ thinlto_code_gen_t cg, unsigned MaxSizeBytes) {
+ return unwrap(cg)->setCacheMaxSizeBytes(MaxSizeBytes);
+}
+
+void thinlto_codegen_set_cache_size_files(
+ thinlto_code_gen_t cg, unsigned MaxSizeFiles) {
+ return unwrap(cg)->setCacheMaxSizeFiles(MaxSizeFiles);
+}
+
void thinlto_codegen_set_savetemps_dir(thinlto_code_gen_t cg,
const char *save_temps_dir) {
return unwrap(cg)->setSaveTempsDir(save_temps_dir);
diff --git a/tools/lto/lto.exports b/tools/lto/lto.exports
index 2e09026ae50..abde3894cb2 100644
--- a/tools/lto/lto.exports
+++ b/tools/lto/lto.exports
@@ -56,15 +56,17 @@ thinlto_codegen_set_pic_model
thinlto_codegen_set_cache_dir
thinlto_codegen_set_cache_pruning_interval
thinlto_codegen_set_cache_entry_expiration
+thinlto_codegen_set_final_cache_size_relative_to_available_space
+thinlto_codegen_set_cache_size_bytes
+thinlto_codegen_set_cache_size_files
thinlto_codegen_set_savetemps_dir
thinlto_codegen_set_cpu
thinlto_debug_options
lto_module_is_thinlto
thinlto_codegen_add_must_preserve_symbol
thinlto_codegen_add_cross_referenced_symbol
-thinlto_codegen_set_final_cache_size_relative_to_available_space
thinlto_codegen_set_codegen_only
thinlto_codegen_disable_codegen
thinlto_module_get_num_object_files
thinlto_module_get_object_file
-thinlto_set_generated_objects_dir \ No newline at end of file
+thinlto_set_generated_objects_dir