diff options
Diffstat (limited to 'include/llvm/Target/TargetRegistry.h')
-rw-r--r-- | include/llvm/Target/TargetRegistry.h | 33 |
1 files changed, 8 insertions, 25 deletions
diff --git a/include/llvm/Target/TargetRegistry.h b/include/llvm/Target/TargetRegistry.h index 496df84..4a1c55d 100644 --- a/include/llvm/Target/TargetRegistry.h +++ b/include/llvm/Target/TargetRegistry.h @@ -23,9 +23,6 @@ // FIXME: We shouldn't need this header, but we need it until there is a // different interface to get the TargetAsmInfo. #include "llvm/Target/TargetMachine.h" -// FIXME: We shouldn't need this header, but we need it until there is a -// different interface to the target machines. -#include "llvm/Module.h" #include <string> #include <cassert> @@ -50,7 +47,6 @@ namespace llvm { typedef unsigned (*TripleMatchQualityFnTy)(const std::string &TT); typedef TargetMachine *(*TargetMachineCtorTy)(const Target &, - const Module &, const std::string &, const std::string &); typedef FunctionPass *(*AsmPrinterCtorTy)(formatted_raw_ostream &, @@ -120,12 +116,16 @@ namespace llvm { /// feature set; it should always be provided. Generally this should be /// either the target triple from the module, or the target triple of the /// host if that does not exist. - TargetMachine *createTargetMachine(const Module &M, - const std::string &Triple, + TargetMachine *createTargetMachine(const std::string &Triple, const std::string &Features) const { if (!TargetMachineCtorFn) return 0; - return TargetMachineCtorFn(*this, M, Triple, Features); + return TargetMachineCtorFn(*this, Triple, Features); + } + TargetMachine *createTargetMachine(const Module &M, + const std::string &Triple, + const std::string &Features) const { + return createTargetMachine(Triple, Features); } /// createAsmPrinter - Create a target specific assembly printer pass. @@ -149,8 +149,6 @@ namespace llvm { }; /// TargetRegistry - Generic interface to target specific features. - // - // FIXME: Provide Target* iterator. struct TargetRegistry { class iterator { const Target *Current; @@ -327,27 +325,12 @@ namespace llvm { } private: - static TargetMachine *Allocator(const Target &T, const Module &M, - const std::string &TT, + static TargetMachine *Allocator(const Target &T, const std::string &TT, const std::string &FS) { return new TargetMachineImpl(T, TT, FS); } }; - template<class TargetMachineImpl> - struct RegisterTargetMachineDeprecated { - RegisterTargetMachineDeprecated(Target &T) { - TargetRegistry::RegisterTargetMachine(T, &Allocator); - } - - private: - static TargetMachine *Allocator(const Target &T, const Module &M, - const std::string &TT, - const std::string &FS) { - return new TargetMachineImpl(T, M, FS); - } - }; - /// RegisterAsmPrinter - Helper template for registering a target specific /// assembly printer, for use in the target machine initialization /// function. Usage: |