From 48224ee5385b03a49ecf34a7c9e3ab73fe32cdb3 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sun, 26 Jul 2009 02:12:58 +0000 Subject: Add TargetRegistry::lookupTarget. - This is a simplified mechanism which just looks up a target based on the target triple, with a few additional flags. - Remove getClosestStaticTargetForModule, the moral equivalent is now: lookupTarget(Mod->getTargetTriple, true, false, ...); - This no longer does the fuzzy matching with target data (based on endianness and pointer width) that getClosestStaticTargetForModule was doing, but this was deemed unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77111 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetRegistry.h | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'include') diff --git a/include/llvm/Target/TargetRegistry.h b/include/llvm/Target/TargetRegistry.h index 64d6e12..420fba5 100644 --- a/include/llvm/Target/TargetRegistry.h +++ b/include/llvm/Target/TargetRegistry.h @@ -183,24 +183,27 @@ namespace llvm { static iterator end() { return iterator(); } - /// getClosestStaticTargetForTriple - Given a target triple, pick the most - /// capable target for that triple. - static const Target *getClosestStaticTargetForTriple(const std::string &TT, - std::string &Error); - - /// getClosestStaticTargetForModule - Given an LLVM module, pick the best - /// target that is compatible with the module. If no close target can be - /// found, this returns null and sets the Error string to a reason. - static const Target *getClosestStaticTargetForModule(const Module &M, - std::string &Error); + /// lookupTarget - Lookup a target based on a target triple. + /// + /// \param Triple - The triple to use for finding a target. + /// \param FallbackToHost - If true and no target is found for the given + /// \arg Triple, then the host's triple will be used. + /// \param RequireJIT - Require the target to support JIT compilation. + /// \param Error - On failure, an error string describing why no target was + /// found. + static const Target *lookupTarget(const std::string &Triple, + bool FallbackToHost, + bool RequireJIT, + std::string &Error); /// getClosestTargetForJIT - Pick the best target that is compatible with /// the current host. If no close target can be found, this returns null /// and sets the Error string to a reason. - // - // FIXME: Do we still need this interface, clients can always look for the - // match for the host triple. - static const Target *getClosestTargetForJIT(std::string &Error); + /// + /// Mainted for compatibility through 2.6. + static const Target *getClosestTargetForJIT(std::string &Error) { + return lookupTarget("", true, true, Error); + } /// @} /// @name Target Registration -- cgit v1.1