diff options
author | Chris Lattner <sabre@nondot.org> | 2004-12-12 17:40:28 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-12-12 17:40:28 +0000 |
commit | 3ea78c4276dfbf5a078292ad8fd8dc952c4ff8b9 (patch) | |
tree | d8c3df16b5ded57931de722cb9e0d019236c200a /lib/Target/X86/X86TargetMachine.cpp | |
parent | 9c33494d7cae201a3d2fed7c1adfd66364e11ed1 (diff) |
Use the target triple to pick this target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18830 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r-- | lib/Target/X86/X86TargetMachine.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index 26ffc19123..0e3eea4392 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/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 |