diff options
Diffstat (limited to 'llvm/include/llvm-c')
-rw-r--r-- | llvm/include/llvm-c/lto.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/llvm/include/llvm-c/lto.h b/llvm/include/llvm-c/lto.h index 89f54b7a7b7..2292f470eba 100644 --- a/llvm/include/llvm-c/lto.h +++ b/llvm/include/llvm-c/lto.h @@ -40,7 +40,7 @@ typedef bool lto_bool_t; * @{ */ -#define LTO_API_VERSION 5 +#define LTO_API_VERSION 6 typedef enum { LTO_SYMBOL_ALIGNMENT_MASK = 0x0000001F, /* log2 of alignment */ @@ -73,6 +73,11 @@ typedef enum { LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC = 2 } lto_codegen_model; +typedef enum { + LTO_INTERNALIZE_FULL = 0, + LTO_INTERNALIZE_NONE = 1, + LTO_INTERNALIZE_HIDDEN = 2 +} lto_internalize_strategy; /** opaque reference to a loaded object module */ typedef struct LTOModule* lto_module_t; @@ -264,6 +269,14 @@ lto_codegen_set_assembler_args(lto_code_gen_t cg, const char **args, int nargs); /** + * Sets the strategy to use during internalize. Default strategy is + * LTO_INTERNALIZE_FULL. + */ +extern void +lto_codegen_set_internalize_strategy(lto_code_gen_t cg, + lto_internalize_strategy); + +/** * Tells LTO optimization passes that this symbol must be preserved * because it is referenced by native code or a command line option. */ |