From a51e273a764b2a3e8fe856c3bd47b09f9446f380 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 11 Jul 2004 02:43:07 +0000 Subject: [PATCH] Add two new "virtual static" methods to the TargetMachine class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14741 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetMachine.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/llvm/Target/TargetMachine.h b/include/llvm/Target/TargetMachine.h index e252b6aec6a..e958a23e1f1 100644 --- a/include/llvm/Target/TargetMachine.h +++ b/include/llvm/Target/TargetMachine.h @@ -62,6 +62,20 @@ protected: // Can only create subclasses... public: virtual ~TargetMachine(); + /// getModuleMatchQuality - This static method should be implemented by + /// targets to indicate how closely they match the specified module. This is + /// used by the LLC tool to determine which target to use when an explicit + /// -march option is not specified. If a target returns zero, it will never + /// be chosen without an explicit -march option. + static unsigned getModuleMatchQuality(const Module &M) { return 0; } + + /// getJITMatchQuality - This static method should be implemented by targets + /// that provide JIT capabilities to indicate how suitable they are for + /// execution on the current host. If a value of 0 is returned, the target + /// will not be used unless an explicit -march option is used. + static unsigned getJITMatchQuality() { return 0; } + + const std::string &getName() const { return Name; } /// getIntrinsicLowering - This method returns a reference to an