From 4042e871cef34e2f8964c65162352f5d803af2e1 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 26 Aug 2006 21:33:05 +0000 Subject: [PATCH] Fix target matching weights, so that ppc-darwin modules are codegen with the ppc target, not the itanium target, when run on an itanium machine. This should fix the CodeGen/PowerPC regtest failures on itanium. llvm-svn: 29903 --- llvm/lib/Target/IA64/IA64TargetMachine.cpp | 19 +++++++------------ llvm/lib/Target/IA64/IA64TargetMachine.h | 1 - 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/llvm/lib/Target/IA64/IA64TargetMachine.cpp b/llvm/lib/Target/IA64/IA64TargetMachine.cpp index 0c5ae0d67c64..ca7df274bcfb 100644 --- a/llvm/lib/Target/IA64/IA64TargetMachine.cpp +++ b/llvm/lib/Target/IA64/IA64TargetMachine.cpp @@ -44,14 +44,6 @@ namespace { RegisterTarget X("ia64", " IA-64 (Itanium)"); } -unsigned IA64TargetMachine::compileTimeMatchQuality() { -#if defined(__ia64__) || defined(__IA64__) - return 50; -#else - return 0; -#endif -} - unsigned IA64TargetMachine::getModuleMatchQuality(const Module &M) { // we match [iI][aA]*64 bool seenIA64=false; @@ -65,12 +57,15 @@ unsigned IA64TargetMachine::getModuleMatchQuality(const Module &M) { seenIA64=true; } - if(seenIA64) - return 50; // strong match + if (seenIA64) + return 20; // strong match } - return compileTimeMatchQuality()/2; - +#if defined(__ia64__) || defined(__IA64__) + return 5; +#else + return 0; +#endif } /// IA64TargetMachine ctor - Create an LP64 architecture model diff --git a/llvm/lib/Target/IA64/IA64TargetMachine.h b/llvm/lib/Target/IA64/IA64TargetMachine.h index 6c13664b924d..267d354117fb 100644 --- a/llvm/lib/Target/IA64/IA64TargetMachine.h +++ b/llvm/lib/Target/IA64/IA64TargetMachine.h @@ -46,7 +46,6 @@ public: CodeGenFileType FileType, bool Fast); static unsigned getModuleMatchQuality(const Module &M); - static unsigned compileTimeMatchQuality(void); }; } // End llvm namespace