Use TryParseRegister() instead of MatchRegisterName(). The former returns -1
authorBill Wendling <isanbard@gmail.com>
Sat, 6 Nov 2010 10:40:24 +0000 (10:40 +0000)
committerBill Wendling <isanbard@gmail.com>
Sat, 6 Nov 2010 10:40:24 +0000 (10:40 +0000)
while the latter doesn't.

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

lib/Target/ARM/AsmParser/ARMAsmParser.cpp

index 818630b981c2068b51f8d5e6cf601aca76cfff30..3cb93a317a75d6297626ce11f9958196496af253 100644 (file)
@@ -434,13 +434,12 @@ ARMOperand *ARMAsmParser::ParseRegisterList() {
     Error(RegLoc, "register expected");
     return 0;
   }
-  int RegNum = MatchRegisterName(RegTok.getString());
+  int RegNum = TryParseRegister();
   if (RegNum == -1) {
     Error(RegLoc, "register expected");
     return 0;
   }
 
-  Parser.Lex(); // Eat identifier token.
   unsigned RegList = 1 << RegNum;
 
   int HighRegNum = RegNum;
@@ -454,7 +453,7 @@ ARMOperand *ARMAsmParser::ParseRegisterList() {
       Error(RegLoc, "register expected");
       return 0;
     }
-    int RegNum = MatchRegisterName(RegTok.getString());
+    int RegNum = TryParseRegister();
     if (RegNum == -1) {
       Error(RegLoc, "register expected");
       return 0;
@@ -466,8 +465,6 @@ ARMOperand *ARMAsmParser::ParseRegisterList() {
       Warning(RegLoc, "register not in ascending order in register list");
     RegList |= 1 << RegNum;
     HighRegNum = RegNum;
-
-    Parser.Lex(); // Eat identifier token.
   }
   const AsmToken &RCurlyTok = Parser.getTok();
   if (RCurlyTok.isNot(AsmToken::RCurly)) {