diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-25 10:09:50 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-25 10:09:50 +0000 |
commit | 691a4784db7a1319571e84fc4cfc4cd63a3b82dd (patch) | |
tree | 44f3402afe41eceac7db022418d5ffd4e128a3d9 /llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp | |
parent | 3c2da2bb7ed6c55f9960fb2779cf09382a95b1ac (diff) | |
download | bcm5719-llvm-691a4784db7a1319571e84fc4cfc4cd63a3b82dd.tar.gz bcm5719-llvm-691a4784db7a1319571e84fc4cfc4cd63a3b82dd.zip |
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.
llvm-svn: 77060
Diffstat (limited to 'llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp b/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp index d709463a15f..a9f99e0646e 100644 --- a/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp +++ b/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp @@ -14,13 +14,6 @@ using namespace llvm; Target llvm::TheARMTarget; -static unsigned ARM_JITMatchQuality() { -#if defined(__arm__) - return 10; -#endif - return 0; -} - static unsigned ARM_TripleMatchQuality(const std::string &TT) { // Match arm-foo-bar, as well as things like armv5blah-* if (TT.size() >= 4 && @@ -45,18 +38,11 @@ static unsigned ARM_ModuleMatchQuality(const Module &M) { M.getPointerSize() != Module::AnyPointerSize) return 0; // Match for some other target - return ARM_JITMatchQuality()/2; + return 0; } Target llvm::TheThumbTarget; -static unsigned Thumb_JITMatchQuality() { -#if defined(__thumb__) - return 10; -#endif - return 0; -} - static unsigned Thumb_TripleMatchQuality(const std::string &TT) { // Match thumb-foo-bar, as well as things like thumbv5blah-* if (TT.size() >= 6 && @@ -81,7 +67,7 @@ static unsigned Thumb_ModuleMatchQuality(const Module &M) { M.getPointerSize() != Module::AnyPointerSize) return 0; // Match for some other target - return Thumb_JITMatchQuality()/2; + return 0; } extern "C" void LLVMInitializeARMTargetInfo() { @@ -89,11 +75,11 @@ extern "C" void LLVMInitializeARMTargetInfo() { "ARM", &ARM_TripleMatchQuality, &ARM_ModuleMatchQuality, - &ARM_JITMatchQuality); + /*HasJIT=*/true); TargetRegistry::RegisterTarget(TheThumbTarget, "thumb", "Thumb", &Thumb_TripleMatchQuality, &Thumb_ModuleMatchQuality, - &Thumb_JITMatchQuality); + /*HasJIT=*/true); } |