Adding new LTO APIs to parse metadata nodes and extract linker options and

dependent libraries from a bitcode module.

Differential Revision: http://llvm-reviews.chandlerc.com/D2343



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199759 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Yunzhong Gao
2014-01-21 18:31:27 +00:00
parent 92e658b566
commit a747cf1c4d
8 changed files with 156 additions and 1 deletions

View File

@@ -193,6 +193,28 @@ lto_symbol_attributes lto_module_get_symbol_attribute(lto_module_t mod,
return mod->getSymbolAttributes(index);
}
/// lto_module_get_num_deplibs - Returns the number of dependent libraries in
/// the object module.
unsigned int lto_module_get_num_deplibs(lto_module_t mod) {
return mod->getDependentLibraryCount();
}
/// lto_module_get_deplib - Returns the ith dependent library in the module.
const char* lto_module_get_deplib(lto_module_t mod, unsigned int index) {
return mod->getDependentLibrary(index);
}
/// lto_module_get_num_linkeropts - Returns the number of linker options in the
/// object module.
unsigned int lto_module_get_num_linkeropts(lto_module_t mod) {
return mod->getLinkerOptCount();
}
/// lto_module_get_linkeropt - Returns the ith linker option in the module.
const char* lto_module_get_linkeropt(lto_module_t mod, unsigned int index) {
return mod->getLinkerOpt(index);
}
/// Set a diagnostic handler.
void lto_codegen_set_diagnostic_handler(lto_code_gen_t cg,
lto_diagnostic_handler_t diag_handler,

View File

@@ -5,6 +5,10 @@ lto_module_create
lto_module_create_from_fd
lto_module_create_from_fd_at_offset
lto_module_create_from_memory
lto_module_get_deplib
lto_module_get_linkeropt
lto_module_get_num_deplibs
lto_module_get_num_linkeropts
lto_module_get_num_symbols
lto_module_get_symbol_attribute
lto_module_get_symbol_name