Simplify JIT target selection.

- Instead of requiring targets to define a JIT quality match function, we just
   have them specify if they support a JIT.

 - Target selection for the JIT just gets the host triple and looks for the best
   target which matches the triple and has a JIT.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77060 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar
2009-07-25 10:09:50 +00:00
parent e0d12d5f7b
commit d6fd377f33
17 changed files with 58 additions and 156 deletions

View File

@@ -14,10 +14,6 @@ using namespace llvm;
Target llvm::TheMipsTarget;
static unsigned Mips_JITMatchQuality() {
return 0;
}
static unsigned Mips_TripleMatchQuality(const std::string &TT) {
// We strongly match "mips*-*".
if (TT.size() >= 5 && std::string(TT.begin(), TT.begin()+5) == "mips-")
@@ -43,10 +39,6 @@ static unsigned Mips_ModuleMatchQuality(const Module &M) {
Target llvm::TheMipselTarget;
static unsigned Mipsel_JITMatchQuality() {
return 0;
}
static unsigned Mipsel_TripleMatchQuality(const std::string &TT) {
// We strongly match "mips*el-*".
if (TT.size() >= 7 && std::string(TT.begin(), TT.begin()+7) == "mipsel-")
@@ -77,12 +69,10 @@ extern "C" void LLVMInitializeMipsTargetInfo() {
TargetRegistry::RegisterTarget(TheMipsTarget, "mips",
"Mips",
&Mips_TripleMatchQuality,
&Mips_ModuleMatchQuality,
&Mips_JITMatchQuality);
&Mips_ModuleMatchQuality);
TargetRegistry::RegisterTarget(TheMipselTarget, "mipsel",
"Mipsel",
&Mipsel_TripleMatchQuality,
&Mipsel_ModuleMatchQuality,
&Mipsel_JITMatchQuality);
&Mipsel_ModuleMatchQuality);
}