lto.h (193323) | lto.h (193574) |
---|---|
1/*===-- llvm-c/lto.h - LTO Public C Interface ---------------------*- C -*-===*\ 2|* *| 3|* The LLVM Compiler Infrastructure *| 4|* *| 5|* This file is distributed under the University of Illinois Open Source *| 6|* License. See LICENSE.TXT for details. *| 7|* *| 8|*===----------------------------------------------------------------------===*| --- 5 unchanged lines hidden (view full) --- 14\*===----------------------------------------------------------------------===*/ 15 16#ifndef LTO_H 17#define LTO_H 1 18 19#include <stdbool.h> 20#include <stddef.h> 21 | 1/*===-- llvm-c/lto.h - LTO Public C Interface ---------------------*- C -*-===*\ 2|* *| 3|* The LLVM Compiler Infrastructure *| 4|* *| 5|* This file is distributed under the University of Illinois Open Source *| 6|* License. See LICENSE.TXT for details. *| 7|* *| 8|*===----------------------------------------------------------------------===*| --- 5 unchanged lines hidden (view full) --- 14\*===----------------------------------------------------------------------===*/ 15 16#ifndef LTO_H 17#define LTO_H 1 18 19#include <stdbool.h> 20#include <stddef.h> 21 |
22#define LTO_API_VERSION 3 23 |
|
22typedef enum { 23 LTO_SYMBOL_ALIGNMENT_MASK = 0x0000001F, /* log2 of alignment */ 24 LTO_SYMBOL_PERMISSIONS_MASK = 0x000000E0, 25 LTO_SYMBOL_PERMISSIONS_CODE = 0x000000A0, 26 LTO_SYMBOL_PERMISSIONS_DATA = 0x000000C0, 27 LTO_SYMBOL_PERMISSIONS_RODATA = 0x00000080, 28 LTO_SYMBOL_DEFINITION_MASK = 0x00000700, 29 LTO_SYMBOL_DEFINITION_REGULAR = 0x00000100, --- 173 unchanged lines hidden (view full) --- 203 * Sets the location of the "gcc" to run. If not set, libLTO will search for 204 * "gcc" on the path. 205 */ 206extern void 207lto_codegen_set_gcc_path(lto_code_gen_t cg, const char* path); 208 209 210/** | 24typedef enum { 25 LTO_SYMBOL_ALIGNMENT_MASK = 0x0000001F, /* log2 of alignment */ 26 LTO_SYMBOL_PERMISSIONS_MASK = 0x000000E0, 27 LTO_SYMBOL_PERMISSIONS_CODE = 0x000000A0, 28 LTO_SYMBOL_PERMISSIONS_DATA = 0x000000C0, 29 LTO_SYMBOL_PERMISSIONS_RODATA = 0x00000080, 30 LTO_SYMBOL_DEFINITION_MASK = 0x00000700, 31 LTO_SYMBOL_DEFINITION_REGULAR = 0x00000100, --- 173 unchanged lines hidden (view full) --- 205 * Sets the location of the "gcc" to run. If not set, libLTO will search for 206 * "gcc" on the path. 207 */ 208extern void 209lto_codegen_set_gcc_path(lto_code_gen_t cg, const char* path); 210 211 212/** |
213 * Sets the location of the assembler tool to run. If not set, libLTO 214 * will use gcc to invoke the assembler. 215 */ 216extern void 217lto_codegen_set_assembler_path(lto_code_gen_t cg, const char* path); 218 219 220/** |
|
211 * Adds to a list of all global symbols that must exist in the final 212 * generated code. If a function is not listed, it might be 213 * inlined into every usage and optimized away. 214 */ 215extern void 216lto_codegen_add_must_preserve_symbol(lto_code_gen_t cg, const char* symbol); 217 218 --- 32 unchanged lines hidden --- | 221 * Adds to a list of all global symbols that must exist in the final 222 * generated code. If a function is not listed, it might be 223 * inlined into every usage and optimized away. 224 */ 225extern void 226lto_codegen_add_must_preserve_symbol(lto_code_gen_t cg, const char* symbol); 227 228 --- 32 unchanged lines hidden --- |