From 4154d8aaa9d457c09ab512bd30f59adfa4089089 Mon Sep 17 00:00:00 2001 From: Alex Lorenz Date: Thu, 13 Aug 2015 20:33:33 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244945 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/MIRParser/MIParser.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/CodeGen/MIRParser/MIParser.cpp b/lib/CodeGen/MIRParser/MIParser.cpp index b333f0b52b1..389c5aaec8c 100644 --- a/lib/CodeGen/MIRParser/MIParser.cpp +++ b/lib/CodeGen/MIRParser/MIParser.cpp @@ -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 &Offset) { 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(MachineMemOperand *&Dest) { 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)) -- 2.34.1