[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