[llvm] r196113 - Introduce poor man's consumeToken() in X86AsmParser

Alp Toker alp at nuanti.com
Mon Dec 2 08:06:06 PST 2013


Author: alp
Date: Mon Dec  2 10:06:06 2013
New Revision: 196113

URL: http://llvm.org/viewvc/llvm-project?rev=196113&view=rev
Log:
Introduce poor man's consumeToken() in X86AsmParser

This makes the code a little more idiomatic.

No change in behaviour.

Modified:
    llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp

Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=196113&r1=196112&r2=196113&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Mon Dec  2 10:06:06 2013
@@ -50,6 +50,12 @@ class X86AsmParser : public MCTargetAsmP
   MCAsmParser &Parser;
   ParseInstructionInfo *InstInfo;
 private:
+  SMLoc consumeToken() {
+    SMLoc Result = Parser.getTok().getLoc();
+    Parser.Lex();
+    return Result;
+  }
+
   enum InfixCalculatorTok {
     IC_PLUS = 0,
     IC_MINUS,
@@ -1341,10 +1347,8 @@ bool X86AsmParser::ParseIntelExpression(
     if (SM.hadError())
       return Error(Tok.getLoc(), "unknown token in expression");
 
-    if (!Done && UpdateLocLex) {
-      End = Tok.getLoc();
-      Parser.Lex(); // Consume the token.
-    }
+    if (!Done && UpdateLocLex)
+      End = consumeToken();
   }
   return false;
 }
@@ -1991,11 +1995,8 @@ ParseInstruction(ParseInstructionInfo &I
   if (getLexer().isNot(AsmToken::EndOfStatement) && !isPrefix) {
 
     // Parse '*' modifier.
-    if (getLexer().is(AsmToken::Star)) {
-      SMLoc Loc = Parser.getTok().getLoc();
-      Operands.push_back(X86Operand::CreateToken("*", Loc));
-      Parser.Lex(); // Eat the star.
-    }
+    if (getLexer().is(AsmToken::Star))
+      Operands.push_back(X86Operand::CreateToken("*", consumeToken()));
 
     // Read the first operand.
     if (X86Operand *Op = ParseOperand())
@@ -2020,9 +2021,7 @@ ParseInstruction(ParseInstructionInfo &I
     if (STI.getFeatureBits() & X86::FeatureAVX512) {
       // Parse mask register {%k1}
       if (getLexer().is(AsmToken::LCurly)) {
-        SMLoc Loc = Parser.getTok().getLoc();
-        Operands.push_back(X86Operand::CreateToken("{", Loc));
-        Parser.Lex();  // Eat the {
+        Operands.push_back(X86Operand::CreateToken("{", consumeToken()));
         if (X86Operand *Op = ParseOperand()) {
           Operands.push_back(Op);
           if (!getLexer().is(AsmToken::RCurly)) {
@@ -2030,9 +2029,7 @@ ParseInstruction(ParseInstructionInfo &I
             Parser.eatToEndOfStatement();
             return Error(Loc, "Expected } at this point");
           }
-          Loc = Parser.getTok().getLoc();
-          Operands.push_back(X86Operand::CreateToken("}", Loc));
-          Parser.Lex();  // Eat the }
+          Operands.push_back(X86Operand::CreateToken("}", consumeToken()));
         } else {
           Parser.eatToEndOfStatement();
           return true;
@@ -2040,9 +2037,7 @@ ParseInstruction(ParseInstructionInfo &I
       }
       // Parse "zeroing non-masked" semantic {z}
       if (getLexer().is(AsmToken::LCurly)) {
-        SMLoc Loc = Parser.getTok().getLoc();
-        Operands.push_back(X86Operand::CreateToken("{z}", Loc));
-        Parser.Lex();  // Eat the {
+        Operands.push_back(X86Operand::CreateToken("{z}", consumeToken()));
         if (!getLexer().is(AsmToken::Identifier) || getLexer().getTok().getIdentifier() != "z") {
           SMLoc Loc = getLexer().getLoc();
           Parser.eatToEndOfStatement();





More information about the llvm-commits mailing list