diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-12-18 21:29:44 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-12-18 21:29:44 +0000 |
commit | 17ab16a248fc1724b30a963aee91bb4f52997f1a (patch) | |
tree | 63f092886f8379b49b321054ab5b3111db3dd1ea /lib/Target/ARM/MCTargetDesc | |
parent | 8cb0f6e78e491e9bb8c3612a6e1062243beaad4f (diff) | |
download | llvm-17ab16a248fc1724b30a963aee91bb4f52997f1a.tar.gz llvm-17ab16a248fc1724b30a963aee91bb4f52997f1a.tar.bz2 llvm-17ab16a248fc1724b30a963aee91bb4f52997f1a.tar.xz |
Correctly handle the degenerated triple "thumb".
Fixes a crash in llc where some parts think the target is thumb and others think
it is ARM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197607 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/MCTargetDesc')
-rw-r--r-- | lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp b/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp index 903b5d3949..400dab7148 100644 --- a/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp +++ b/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp @@ -89,14 +89,11 @@ std::string ARM_MC::ParseARMTriple(StringRef TT, StringRef CPU) { unsigned Idx = 0; // FIXME: Enhance Triple helper class to extract ARM version. - bool isThumb = false; + bool isThumb = triple.getArch() == Triple::thumb; if (Len >= 5 && TT.substr(0, 4) == "armv") Idx = 4; - else if (Len >= 6 && TT.substr(0, 5) == "thumb") { - isThumb = true; - if (Len >= 7 && TT[5] == 'v') - Idx = 6; - } + else if (Len >= 7 && TT.substr(0, 6) == "thumbv") + Idx = 6; bool NoCPU = CPU == "generic" || CPU.empty(); std::string ARMArchFeature; |