[llvm] r244945 - MIR Parser: Extract the code that parses the alignment into a new method. NFC.

Alex Lorenz via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 13 13:33:35 PDT 2015


Author: arphaman
Date: Thu Aug 13 15:33:33 2015
New Revision: 244945

URL: http://llvm.org/viewvc/llvm-project?rev=244945&view=rev
Log:
MIR Parser: Extract the code that parses the alignment into a new method. NFC.

This commit extracts the code that parses the memory operand's alignment into
a new method named 'parseAlignment' so that it can be reused when parsing the
basic block's alignment attribute.

Modified:
    llvm/trunk/lib/CodeGen/MIRParser/MIParser.cpp

Modified: llvm/trunk/lib/CodeGen/MIRParser/MIParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MIRParser/MIParser.cpp?rev=244945&r1=244944&r2=244945&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MIRParser/MIParser.cpp (original)
+++ llvm/trunk/lib/CodeGen/MIRParser/MIParser.cpp Thu Aug 13 15:33:33 2015
@@ -126,6 +126,7 @@ public:
   bool parseMachineOperand(MachineOperand &Dest);
   bool parseMachineOperandAndTargetFlags(MachineOperand &Dest);
   bool parseOffset(int64_t &Offset);
+  bool parseAlignment(unsigned &Alignment);
   bool parseOperandsOffset(MachineOperand &Op);
   bool parseIRValue(Value *&V);
   bool parseMemoryOperandFlag(unsigned &Flags);
@@ -1073,6 +1074,17 @@ bool MIParser::parseOffset(int64_t &Offs
   return false;
 }
 
+bool MIParser::parseAlignment(unsigned &Alignment) {
+  assert(Token.is(MIToken::kw_align));
+  lex();
+  if (Token.isNot(MIToken::IntegerLiteral))
+    return error("expected an integer literal after 'align'");
+  if (getUnsigned(Alignment))
+    return true;
+  lex();
+  return false;
+}
+
 bool MIParser::parseOperandsOffset(MachineOperand &Op) {
   int64_t Offset = 0;
   if (parseOffset(Offset))
@@ -1226,12 +1238,8 @@ bool MIParser::parseMachineMemoryOperand
     lex();
     if (Token.isNot(MIToken::kw_align))
       return error("expected 'align'");
-    lex();
-    if (Token.isNot(MIToken::IntegerLiteral))
-      return error("expected an integer literal after 'align'");
-    if (getUnsigned(BaseAlignment))
+    if (parseAlignment(BaseAlignment))
       return true;
-    lex();
   }
   // TODO: Parse the attached metadata nodes.
   if (expectAndConsume(MIToken::rparen))




More information about the llvm-commits mailing list