diff options
Diffstat (limited to 'lib/Target/ARM/ARMTargetMachine.cpp')
-rw-r--r-- | lib/Target/ARM/ARMTargetMachine.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp index 919c2ffaf8..6bb0b2e3cc 100644 --- a/lib/Target/ARM/ARMTargetMachine.cpp +++ b/lib/Target/ARM/ARMTargetMachine.cpp @@ -53,7 +53,9 @@ unsigned ThumbTargetMachine::getJITMatchQuality() { unsigned ThumbTargetMachine::getModuleMatchQuality(const Module &M) { std::string TT = M.getTargetTriple(); - if (TT.size() >= 6 && std::string(TT.begin(), TT.begin()+6) == "thumb-") + // Match thumb-foo-bar, as well as things like thumbv5blah-* + if (TT.size() >= 6 && + (TT.substr(0, 6) == "thumb-" || TT.substr(0, 6) == "thumbv")) return 20; // If the target triple is something non-thumb, we don't match. @@ -105,7 +107,8 @@ unsigned ARMTargetMachine::getJITMatchQuality() { unsigned ARMTargetMachine::getModuleMatchQuality(const Module &M) { std::string TT = M.getTargetTriple(); - if (TT.size() >= 4 && // Match arm-foo-bar, as well as things like armv5blah-* + // Match arm-foo-bar, as well as things like armv5blah-* + if (TT.size() >= 4 && (TT.substr(0, 4) == "arm-" || TT.substr(0, 4) == "armv")) return 20; // If the target triple is something non-arm, we don't match. |