aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-17 22:35:35 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-17 22:35:35 +0000
commitdab416d0826c4448399e424d539b0c2fcc5a4737 (patch)
treed3ff6ccfdbf753fa5d816f49a24719760e5388cb
parentb9010bc3bbfb0e8ca9020c0ed05ada8211ca29a0 (diff)
downloadexternal_llvm-dab416d0826c4448399e424d539b0c2fcc5a4737.zip
external_llvm-dab416d0826c4448399e424d539b0c2fcc5a4737.tar.gz
external_llvm-dab416d0826c4448399e424d539b0c2fcc5a4737.tar.bz2
Add llvm::InitializeAllTargetInfos and llvm::InitializeAllAsmParsers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76253 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Target/TargetSelect.h39
1 files changed, 31 insertions, 8 deletions
diff --git a/include/llvm/Target/TargetSelect.h b/include/llvm/Target/TargetSelect.h
index 6527147..e79f651 100644
--- a/include/llvm/Target/TargetSelect.h
+++ b/include/llvm/Target/TargetSelect.h
@@ -26,29 +26,42 @@ extern "C" {
#define LLVM_TARGET(TargetName) void LLVMInitialize##TargetName##Target();
#include "llvm/Config/Targets.def"
- // Declare all of the available asm-printer initialization functions.
+ // Declare all of the available assembly printer initialization functions.
#define LLVM_ASM_PRINTER(TargetName) void LLVMInitialize##TargetName##AsmPrinter();
#include "llvm/Config/AsmPrinters.def"
+
+ // Declare all of the available assembly parser initialization functions.
+#define LLVM_ASM_PARSER(TargetName) void LLVMInitialize##TargetName##AsmParser();
+#include "llvm/Config/AsmParsers.def"
}
namespace llvm {
- /// InitializeAllTargets - The main program should call this function if it
- /// wants access to all available targets that LLVM is configured to
- /// support. This allows the client to query the available targets using the
- /// target registration mechanisms.
+ /// InitializeAllTargetInfos - The main program should call this function if
+ /// it wants access to all available targets that LLVM is configured to
+ /// support, to make them available via the TargetRegistry.
///
/// It is legal for a client to make multiple calls to this function.
- inline void InitializeAllTargets() {
+ inline void InitializeAllTargetInfos() {
#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetInfo();
#include "llvm/Config/Targets.def"
+ }
+
+ /// InitializeAllTargets - The main program should call this function if it
+ /// wants access to all available target machines that LLVM is configured to
+ /// support, to make them available via the TargetRegistry.
+ ///
+ /// It is legal for a client to make multiple calls to this function.
+ inline void InitializeAllTargets() {
+ // FIXME: Remove this, clients should do it.
+ InitializeAllTargetInfos();
#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##Target();
#include "llvm/Config/Targets.def"
}
/// InitializeAllAsmPrinters - The main program should call this function if
- /// it wants all asm printers that LLVM is configured to support. This will
- /// cause them to be linked into its executable.
+ /// it wants all asm printers that LLVM is configured to support, to make them
+ /// available via the TargetRegistry.
///
/// It is legal for a client to make multiple calls to this function.
inline void InitializeAllAsmPrinters() {
@@ -56,6 +69,16 @@ namespace llvm {
#include "llvm/Config/AsmPrinters.def"
}
+ /// InitializeAllAsmParsers - The main program should call this function if it
+ /// wants all asm parsers that LLVM is configured to support, to make them
+ /// available via the TargetRegistry.
+ ///
+ /// It is legal for a client to make multiple calls to this function.
+ inline void InitializeAllAsmParsers() {
+#define LLVM_ASM_PARSER(TargetName) LLVMInitialize##TargetName##AsmParser();
+#include "llvm/Config/AsmParsers.def"
+ }
+
/// InitializeNativeTarget - The main program should call this function to
/// initialize the native target corresponding to the host. This is useful
/// for JIT applications to ensure that the target gets linked in correctly.