[llvm] e9035ea - [CSKY] Use parseOptionalToken. NFC

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 15 12:31:18 PDT 2023


Author: Fangrui Song
Date: 2023-06-15T12:31:14-07:00
New Revision: e9035ea4057da30c714266941195de3ef8898b2d

URL: https://github.com/llvm/llvm-project/commit/e9035ea4057da30c714266941195de3ef8898b2d
DIFF: https://github.com/llvm/llvm-project/commit/e9035ea4057da30c714266941195de3ef8898b2d.diff

LOG: [CSKY] Use parseOptionalToken. NFC

Many code paths are untested.
Some "expected ..." messages are adjusted, otherwise NFC.

Added: 
    

Modified: 
    llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp b/llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
index 2b1e2e7c366e8..413c331f1c3a2 100644
--- a/llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
+++ b/llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
@@ -1254,11 +1254,8 @@ OperandMatchResultTy CSKYAsmParser::parseDataSymbol(OperandVector &Operands) {
   SMLoc E = SMLoc::getFromPointer(S.getPointer() - 1);
   const MCExpr *Res;
 
-  if (getLexer().getKind() != AsmToken::LBrac)
+  if (!parseOptionalToken(AsmToken::LBrac))
     return MatchOperand_NoMatch;
-
-  getLexer().Lex(); // Eat '['.
-
   if (getLexer().getKind() != AsmToken::Identifier) {
     const MCExpr *Expr;
     if (getParser().parseExpression(Expr)) {
@@ -1266,12 +1263,8 @@ OperandMatchResultTy CSKYAsmParser::parseDataSymbol(OperandVector &Operands) {
       return MatchOperand_ParseFail;
     }
 
-    if (getLexer().getKind() != AsmToken::RBrac) {
-      Error(getLoc(), "expected ]");
+    if (parseToken(AsmToken::RBrac, "expected ']'"))
       return MatchOperand_ParseFail;
-    }
-
-    getLexer().Lex(); // Eat ']'.
 
     Operands.push_back(CSKYOperand::createConstpoolOp(Expr, S, E));
     return MatchOperand_Success;
@@ -1337,13 +1330,8 @@ OperandMatchResultTy CSKYAsmParser::parseDataSymbol(OperandVector &Operands) {
     Error(getLoc(), "unknown expression");
     return MatchOperand_ParseFail;
   }
-
-  if (getLexer().getKind() != AsmToken::RBrac) {
-    Error(getLoc(), "expected ']'");
+  if (parseToken(AsmToken::RBrac, "expected ']'"))
     return MatchOperand_ParseFail;
-  }
-
-  getLexer().Lex(); // Eat ']'.
 
   Res = MCBinaryExpr::create(Opcode, Res, Expr, getContext());
   Operands.push_back(CSKYOperand::createConstpoolOp(Res, S, E));
@@ -1356,24 +1344,17 @@ CSKYAsmParser::parseConstpoolSymbol(OperandVector &Operands) {
   SMLoc E = SMLoc::getFromPointer(S.getPointer() - 1);
   const MCExpr *Res;
 
-  if (getLexer().getKind() != AsmToken::LBrac)
+  if (!parseOptionalToken(AsmToken::LBrac))
     return MatchOperand_NoMatch;
 
-  getLexer().Lex(); // Eat '['.
-
   if (getLexer().getKind() != AsmToken::Identifier) {
     const MCExpr *Expr;
     if (getParser().parseExpression(Expr)) {
       Error(getLoc(), "unknown expression");
       return MatchOperand_ParseFail;
     }
-
-    if (getLexer().getKind() != AsmToken::RBrac) {
-      Error(getLoc(), "expected ']'");
+    if (parseToken(AsmToken::RBrac))
       return MatchOperand_ParseFail;
-    }
-
-    getLexer().Lex(); // Eat ']'.
 
     Operands.push_back(CSKYOperand::createConstpoolOp(Expr, S, E));
     return MatchOperand_Success;
@@ -1430,13 +1411,8 @@ CSKYAsmParser::parseConstpoolSymbol(OperandVector &Operands) {
     Error(getLoc(), "unknown expression");
     return MatchOperand_ParseFail;
   }
-
-  if (getLexer().getKind() != AsmToken::RBrac) {
-    Error(getLoc(), "expected ']'");
+  if (parseToken(AsmToken::RBrac, "expected ']'"))
     return MatchOperand_ParseFail;
-  }
-
-  getLexer().Lex(); // Eat ']'.
 
   Res = MCBinaryExpr::create(Opcode, Res, Expr, getContext());
   Operands.push_back(CSKYOperand::createConstpoolOp(Res, S, E));
@@ -1474,12 +1450,8 @@ OperandMatchResultTy CSKYAsmParser::parsePSRFlag(OperandVector &Operands) {
     if (getLexer().is(AsmToken::EndOfStatement))
       break;
 
-    if (getLexer().is(AsmToken::Comma)) {
-      getLexer().Lex(); // eat ','
-    } else {
-      Error(getLoc(), "expected ,");
+    if (parseToken(AsmToken::Comma, "expected ','"))
       return MatchOperand_ParseFail;
-    }
   }
 
   Operands.push_back(
@@ -1496,13 +1468,8 @@ OperandMatchResultTy CSKYAsmParser::parseRegSeq(OperandVector &Operands) {
   auto Ry = Operands.back()->getReg();
   Operands.pop_back();
 
-  if (getLexer().isNot(AsmToken::Minus)) {
-    Error(getLoc(), "expected '-'");
+  if (parseToken(AsmToken::Minus, "expected '-'"))
     return MatchOperand_ParseFail;
-  }
-
-  getLexer().Lex(); // eat '-'
-
   if (parseRegister(Operands) != MatchOperand_Success) {
     Error(getLoc(), "invalid register");
     return MatchOperand_ParseFail;
@@ -1530,9 +1497,7 @@ OperandMatchResultTy CSKYAsmParser::parseRegList(OperandVector &Operands) {
     auto Ry = Operands.back()->getReg();
     Operands.pop_back();
 
-    if (getLexer().is(AsmToken::Minus)) {
-      getLexer().Lex(); // eat '-'
-
+    if (parseOptionalToken(AsmToken::Minus)) {
       if (parseRegister(Operands) != MatchOperand_Success) {
         Error(getLoc(), "invalid register");
         return MatchOperand_ParseFail;
@@ -1544,16 +1509,12 @@ OperandMatchResultTy CSKYAsmParser::parseRegList(OperandVector &Operands) {
       reglist.push_back(Ry);
       reglist.push_back(Rz);
 
-      if (getLexer().is(AsmToken::Comma))
-        getLexer().Lex(); // eat ','
-      else if (getLexer().is(AsmToken::EndOfStatement))
+      if (getLexer().is(AsmToken::EndOfStatement))
         break;
-
-    } else if (getLexer().is(AsmToken::Comma)) {
+      (void)parseOptionalToken(AsmToken::Comma);
+    } else if (parseOptionalToken(AsmToken::Comma)) {
       reglist.push_back(Ry);
       reglist.push_back(Ry);
-
-      getLexer().Lex(); // eat ','
     } else if (getLexer().is(AsmToken::EndOfStatement)) {
       reglist.push_back(Ry);
       reglist.push_back(Ry);
@@ -1582,14 +1543,9 @@ bool CSKYAsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name,
     return true;
 
   // Parse until end of statement, consuming commas between operands.
-  while (getLexer().is(AsmToken::Comma)) {
-    // Consume comma token.
-    getLexer().Lex();
-
-    // Parse next operand.
+  while (parseOptionalToken(AsmToken::Comma))
     if (parseOperand(Operands, Name))
       return true;
-  }
 
   if (getLexer().isNot(AsmToken::EndOfStatement)) {
     SMLoc Loc = getLexer().getLoc();


        


More information about the llvm-commits mailing list