diff options
author | Alex Lorenz <arphaman@gmail.com> | 2015-08-07 20:21:00 +0000 |
---|---|---|
committer | Alex Lorenz <arphaman@gmail.com> | 2015-08-07 20:21:00 +0000 |
commit | dc24c1713e87dc6561ac01e36e54ff4bf924d8f4 (patch) | |
tree | 7490dc72bee9330b457c631f6eede4fd285bf35d | |
parent | 711b390a7c7854679388053e543273c56c25196e (diff) | |
download | bcm5719-llvm-dc24c1713e87dc6561ac01e36e54ff4bf924d8f4.tar.gz bcm5719-llvm-dc24c1713e87dc6561ac01e36e54ff4bf924d8f4.zip |
MIR Parser: Extract the parsing of the operand's offset into a new method. NFC.
This commit extract the code that parses the 64-bit offset from the method
'parseOperandsOffset' to a new method 'parseOffset' so that we can reuse it
when parsing the offset for the machine memory operands.
llvm-svn: 244355
-rw-r--r-- | llvm/lib/CodeGen/MIRParser/MIParser.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp index c71cdbb6d6f..af599a5cc3b 100644 --- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp +++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp @@ -123,6 +123,7 @@ public: bool parseTargetIndexOperand(MachineOperand &Dest); bool parseMachineOperand(MachineOperand &Dest); bool parseMachineOperandAndTargetFlags(MachineOperand &Dest); + bool parseOffset(int64_t &Offset); bool parseOperandsOffset(MachineOperand &Op); bool parseIRValue(Value *&V); bool parseMemoryOperandFlag(unsigned &Flags); @@ -1014,7 +1015,7 @@ bool MIParser::parseMachineOperandAndTargetFlags(MachineOperand &Dest) { return false; } -bool MIParser::parseOperandsOffset(MachineOperand &Op) { +bool MIParser::parseOffset(int64_t &Offset) { if (Token.isNot(MIToken::plus) && Token.isNot(MIToken::minus)) return false; StringRef Sign = Token.range(); @@ -1024,10 +1025,17 @@ bool MIParser::parseOperandsOffset(MachineOperand &Op) { return error("expected an integer literal after '" + Sign + "'"); if (Token.integerValue().getMinSignedBits() > 64) return error("expected 64-bit integer (too large)"); - int64_t Offset = Token.integerValue().getExtValue(); + Offset = Token.integerValue().getExtValue(); if (IsNegative) Offset = -Offset; lex(); + return false; +} + +bool MIParser::parseOperandsOffset(MachineOperand &Op) { + int64_t Offset = 0; + if (parseOffset(Offset)) + return true; Op.setOffset(Offset); return false; } |