summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetMachine.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-12-12 17:40:28 +0000
committerChris Lattner <sabre@nondot.org>2004-12-12 17:40:28 +0000
commit17550c456cc5f419e1042720a28af44c85cbfce6 (patch)
treedc8f0f15f38608a8b081e0bbe1058e4a3c8dcc85 /llvm/lib/Target/X86/X86TargetMachine.cpp
parent1adea147ba32929714dd7d8fcab0e57a0f7cd485 (diff)
downloadbcm5719-llvm-17550c456cc5f419e1042720a28af44c85cbfce6.tar.gz
bcm5719-llvm-17550c456cc5f419e1042720a28af44c85cbfce6.zip
Use the target triple to pick this target.
llvm-svn: 18830
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index 26ffc19123f..0e3eea43924 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -69,9 +69,15 @@ unsigned X86TargetMachine::getJITMatchQuality() {
}
unsigned X86TargetMachine::getModuleMatchQuality(const Module &M) {
+ // We strongly match "i[3-9]86-*".
+ std::string TT = M.getTargetTriple();
+ if (TT.size() >= 5 && TT[0] == 'i' && TT[2] == '8' && TT[3] == '6' &&
+ TT[4] == '-' && TT[1] - '3' < 6)
+ return 20;
+
if (M.getEndianness() == Module::LittleEndian &&
M.getPointerSize() == Module::Pointer32)
- return 10; // Direct match
+ return 10; // Weak match
else if (M.getEndianness() != Module::AnyEndianness ||
M.getPointerSize() != Module::AnyPointerSize)
return 0; // Match for some other target
OpenPOWER on IntegriCloud