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