diff options
| author | Steven Wu <stevenwu@apple.com> | 2019-09-16 18:49:54 +0000 |
|---|---|---|
| committer | Steven Wu <stevenwu@apple.com> | 2019-09-16 18:49:54 +0000 |
| commit | 34d80461ff77269d6342768a5801ec655da7cea7 (patch) | |
| tree | a838a723dc1d2a7b1a6840253ef87974483f223f /llvm/include/llvm-c | |
| parent | 32837a0c93ecdb33faaba253c5c7e868db9c529f (diff) | |
| download | bcm5719-llvm-34d80461ff77269d6342768a5801ec655da7cea7.tar.gz bcm5719-llvm-34d80461ff77269d6342768a5801ec655da7cea7.zip | |
[LTO][Legacy] Add new C inferface to query libcall functions
Summary:
This is needed to implemented the same approach as lld (implemented in r338434)
for how to handling symbols that can be generated by LTO code generator
but not present in the symbol table for linker that uses legacy C APIs.
libLTO is in charge of providing the list of symbols. Linker is in
charge of implementing the eager loading from static libraries using
the list of symbols.
rdar://problem/52853974
Reviewers: tejohnson, bd1976llvm, deadalnix, espindola
Reviewed By: tejohnson
Subscribers: emaste, arichardson, hiraditya, MaskRay, dang, kledzik, mehdi_amini, inglorion, jkorous, dexonsmith, ributzka, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67568
llvm-svn: 372021
Diffstat (limited to 'llvm/include/llvm-c')
| -rw-r--r-- | llvm/include/llvm-c/lto.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/include/llvm-c/lto.h b/llvm/include/llvm-c/lto.h index 0ec490fcd5a..41e6067cf44 100644 --- a/llvm/include/llvm-c/lto.h +++ b/llvm/include/llvm-c/lto.h @@ -44,7 +44,7 @@ typedef bool lto_bool_t; * @{ */ -#define LTO_API_VERSION 24 +#define LTO_API_VERSION 25 /** * \since prior to LTO_API_VERSION=3 @@ -593,6 +593,14 @@ extern const char * lto_input_get_dependent_library(lto_input_t input, size_t *size); /** + * Returns the list of libcall symbols that can be generated by LTO + * that might not be visible from the symbol table of bitcode files. + * + * \since prior to LTO_API_VERSION=25 + */ +extern const char *const *lto_runtime_lib_symbols_list(size_t *size); + +/** * @} // endgoup LLVMCLTO * @defgroup LLVMCTLTO ThinLTO * @ingroup LLVMC |

