[mips] Use llvm::Triple in ParseMipsTriple() instead of manually parsing it
authorDaniel Sanders <daniel.sanders@imgtec.com>
Wed, 19 Feb 2014 15:55:21 +0000 (15:55 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Wed, 19 Feb 2014 15:55:21 +0000 (15:55 +0000)
No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201689 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp

index 70b5ba79cf31fd2689c8416c82d578d96b1420c3..01bdfb704f69547f1984ad356a43c130345762ee 100644 (file)
@@ -15,6 +15,7 @@
 #include "InstPrinter/MipsInstPrinter.h"
 #include "MipsMCAsmInfo.h"
 #include "MipsTargetStreamer.h"
+#include "llvm/ADT/Triple.h"
 #include "llvm/MC/MCCodeGenInfo.h"
 #include "llvm/MC/MCELFStreamer.h"
 #include "llvm/MC/MCInstrInfo.h"
@@ -40,21 +41,10 @@ using namespace llvm;
 
 static std::string ParseMipsTriple(StringRef TT, StringRef CPU) {
   std::string MipsArchFeature;
-  size_t DashPosition = 0;
-  StringRef TheTriple;
+  Triple TheTriple(TT);
 
-  // Let's see if there is a dash, like mips-unknown-linux.
-  DashPosition = TT.find('-');
-
-  if (DashPosition == StringRef::npos) {
-    // No dash, we check the string size.
-    TheTriple = TT.substr(0);
-  } else {
-    // We are only interested in substring before dash.
-    TheTriple = TT.substr(0,DashPosition);
-  }
-
-  if (TheTriple == "mips" || TheTriple == "mipsel") {
+  if (TheTriple.getArch() == Triple::mips ||
+      TheTriple.getArch() == Triple::mipsel) {
     if (CPU.empty() || CPU == "mips32") {
       MipsArchFeature = "+mips32";
     } else if (CPU == "mips32r2") {