summaryrefslogtreecommitdiff
path: root/include/llvm-c/lto.h
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
commitcbad58624090933cb8fb85587e03be613a481309 (patch)
tree4e1b1453bacb85aef8998892b242e71cec8cb694 /include/llvm-c/lto.h
parent186c670e15828327960d05a652ec43ae768c9b8e (diff)
downloadllvm-cbad58624090933cb8fb85587e03be613a481309.tar.gz
llvm-cbad58624090933cb8fb85587e03be613a481309.tar.bz2
llvm-cbad58624090933cb8fb85587e03be613a481309.tar.xz
<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/lto.h')
-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 8198617690..5d92fc5af0 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.