aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm-c
diff options
context:
space:
mode:
authorNick Kledzik <kledzik@apple.com>2009-06-04 00:28:45 +0000
committerNick Kledzik <kledzik@apple.com>2009-06-04 00:28:45 +0000
commit39d9b419bb1c3cdc9eb807dffd3f0d116dc0fb44 (patch)
tree4e1b1453bacb85aef8998892b242e71cec8cb694 /include/llvm-c
parent214ae9730699e74bdbb1a80526db9992187bf8b6 (diff)
downloadexternal_llvm-39d9b419bb1c3cdc9eb807dffd3f0d116dc0fb44.zip
external_llvm-39d9b419bb1c3cdc9eb807dffd3f0d116dc0fb44.tar.gz
external_llvm-39d9b419bb1c3cdc9eb807dffd3f0d116dc0fb44.tar.bz2
<rdar://problem/6940611> libLTO.dylib needs to let linker specify path to assembler
Add lto_codegen_set_assembler_path() API which allows the linker to specify the path to the assembler tool to run. When assembler is used (instead of compiler) different command line options are used. Add LTO_API_VERSION #define so clients (linkers) can conditionalize use of new APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72823 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm-c')
-rw-r--r--include/llvm-c/lto.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm-c/lto.h b/include/llvm-c/lto.h
index 8198617..5d92fc5 100644
--- a/include/llvm-c/lto.h
+++ b/include/llvm-c/lto.h
@@ -19,6 +19,8 @@
#include <stdbool.h>
#include <stddef.h>
+#define LTO_API_VERSION 3
+
typedef enum {
LTO_SYMBOL_ALIGNMENT_MASK = 0x0000001F, /* log2 of alignment */
LTO_SYMBOL_PERMISSIONS_MASK = 0x000000E0,
@@ -208,6 +210,14 @@ lto_codegen_set_gcc_path(lto_code_gen_t cg, const char* path);
/**
+ * Sets the location of the assembler tool to run. If not set, libLTO
+ * will use gcc to invoke the assembler.
+ */
+extern void
+lto_codegen_set_assembler_path(lto_code_gen_t cg, const char* path);
+
+
+/**
* Adds to a list of all global symbols that must exist in the final
* generated code. If a function is not listed, it might be
* inlined into every usage and optimized away.