Update llvm-c headers for Version 11.0.1

This commit is contained in:
gingerBill
2021-03-19 15:46:33 +00:00
parent 2b806f7463
commit bda9eb7348
32 changed files with 357 additions and 265 deletions
+83 -49
View File
@@ -16,6 +16,8 @@
#ifndef LLVM_C_LTO_H
#define LLVM_C_LTO_H
#include "ExternC.h"
#ifdef __cplusplus
#include <cstddef>
#else
@@ -44,7 +46,7 @@ typedef bool lto_bool_t;
* @{
*/
#define LTO_API_VERSION 24
#define LTO_API_VERSION 27
/**
* \since prior to LTO_API_VERSION=3
@@ -98,9 +100,7 @@ typedef struct LLVMOpaqueLTOCodeGenerator *lto_code_gen_t;
/** opaque reference to a thin code generator */
typedef struct LLVMOpaqueThinLTOCodeGenerator *thinlto_code_gen_t;
#ifdef __cplusplus
extern "C" {
#endif
LLVM_C_EXTERN_C_BEGIN
/**
* Returns a printable string.
@@ -297,6 +297,21 @@ lto_module_get_symbol_attribute(lto_module_t mod, unsigned int index);
extern const char*
lto_module_get_linkeropts(lto_module_t mod);
/**
* If targeting mach-o on darwin, this function gets the CPU type and subtype
* that will end up being encoded in the mach-o header. These are the values
* that can be found in mach/machine.h.
*
* \p out_cputype and \p out_cpusubtype must be non-NULL.
*
* Returns true on error (check lto_get_error_message() for details).
*
* \since LTO_API_VERSION=27
*/
extern lto_bool_t lto_module_get_macho_cputype(lto_module_t mod,
unsigned int *out_cputype,
unsigned int *out_cpusubtype);
/**
* Diagnostic severity.
*
@@ -514,11 +529,24 @@ lto_api_version(void);
/**
* Sets options to help debug codegen bugs.
*
* This function takes one or more options separated by spaces.
* Warning: passing file paths through this function may confuse the argument
* parser if the paths contain spaces.
*
* \since prior to LTO_API_VERSION=3
*/
extern void
lto_codegen_debug_options(lto_code_gen_t cg, const char *);
/**
* Same as the previous function, but takes every option separately through an
* array.
*
* \since prior to LTO_API_VERSION=26
*/
extern void lto_codegen_debug_options_array(lto_code_gen_t cg,
const char *const *, int number);
/**
* Initializes LLVM disassemblers.
* FIXME: This doesn't really belong here.
@@ -550,6 +578,56 @@ extern void
lto_codegen_set_should_embed_uselists(lto_code_gen_t cg,
lto_bool_t ShouldEmbedUselists);
/** Opaque reference to an LTO input file */
typedef struct LLVMOpaqueLTOInput *lto_input_t;
/**
* Creates an LTO input file from a buffer. The path
* argument is used for diagnotics as this function
* otherwise does not know which file the given buffer
* is associated with.
*
* \since LTO_API_VERSION=24
*/
extern lto_input_t lto_input_create(const void *buffer,
size_t buffer_size,
const char *path);
/**
* Frees all memory internally allocated by the LTO input file.
* Upon return the lto_module_t is no longer valid.
*
* \since LTO_API_VERSION=24
*/
extern void lto_input_dispose(lto_input_t input);
/**
* Returns the number of dependent library specifiers
* for the given LTO input file.
*
* \since LTO_API_VERSION=24
*/
extern unsigned lto_input_get_num_dependent_libraries(lto_input_t input);
/**
* Returns the ith dependent library specifier
* for the given LTO input file. The returned
* string is not null-terminated.
*
* \since LTO_API_VERSION=24
*/
extern const char * lto_input_get_dependent_library(lto_input_t input,
size_t index,
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
@@ -846,54 +924,10 @@ thinlto_codegen_set_cache_size_megabytes(thinlto_code_gen_t cg,
extern void thinlto_codegen_set_cache_size_files(thinlto_code_gen_t cg,
unsigned max_size_files);
/** Opaque reference to an LTO input file */
typedef struct LLVMOpaqueLTOInput *lto_input_t;
/**
* Creates an LTO input file from a buffer. The path
* argument is used for diagnotics as this function
* otherwise does not know which file the given buffer
* is associated with.
*
* \since LTO_API_VERSION=24
*/
extern lto_input_t lto_input_create(const void *buffer,
size_t buffer_size,
const char *path);
/**
* Frees all memory internally allocated by the LTO input file.
* Upon return the lto_module_t is no longer valid.
*
* \since LTO_API_VERSION=24
*/
extern void lto_input_dispose(lto_input_t input);
/**
* Returns the number of dependent library specifiers
* for the given LTO input file.
*
* \since LTO_API_VERSION=24
*/
extern unsigned lto_input_get_num_dependent_libraries(lto_input_t input);
/**
* Returns the ith dependent library specifier
* for the given LTO input file. The returned
* string is not null-terminated.
*
* \since LTO_API_VERSION=24
*/
extern const char * lto_input_get_dependent_library(lto_input_t input,
size_t index,
size_t *size);
/**
* @} // endgroup LLVMCTLTO_CACHING
*/
#ifdef __cplusplus
}
#endif
LLVM_C_EXTERN_C_END
#endif /* LLVM_C_LTO_H */