diff options
author | Sean Callanan <scallanan@apple.com> | 2010-04-08 00:48:21 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2010-04-08 00:48:21 +0000 |
commit | 8f993b8c244bb5ec19d004a070eb9f32c5a29b1a (patch) | |
tree | 552595597d80db505ac9ad4dc9c6b4cf15dddfc3 /tools/edis/EDToken.cpp | |
parent | 6129c376935db12dc79f6d515a1d96632adb480c (diff) | |
download | llvm-8f993b8c244bb5ec19d004a070eb9f32c5a29b1a.tar.gz llvm-8f993b8c244bb5ec19d004a070eb9f32c5a29b1a.tar.bz2 llvm-8f993b8c244bb5ec19d004a070eb9f32c5a29b1a.tar.xz |
Added support for ARM disassembly to edis.
I also added a rule to the ARM target's Makefile to
build the ARM-specific instruction information table
for the enhanced disassembler.
I will add the test harness for all this stuff in
a separate commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100735 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/edis/EDToken.cpp')
-rw-r--r-- | tools/edis/EDToken.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/tools/edis/EDToken.cpp b/tools/edis/EDToken.cpp index cd79152e35..3bcb0a14b8 100644 --- a/tools/edis/EDToken.cpp +++ b/tools/edis/EDToken.cpp @@ -68,20 +68,20 @@ int EDToken::operandID() const { } int EDToken::literalSign() const { - if(Type != kTokenLiteral) + if (Type != kTokenLiteral) return -1; return (LiteralSign ? 1 : 0); } int EDToken::literalAbsoluteValue(uint64_t &value) const { - if(Type != kTokenLiteral) + if (Type != kTokenLiteral) return -1; value = LiteralAbsoluteValue; return 0; } int EDToken::registerID(unsigned ®isterID) const { - if(Type != kTokenRegister) + if (Type != kTokenRegister) return -1; registerID = RegisterID; return 0; @@ -94,7 +94,7 @@ int EDToken::tokenize(std::vector<EDToken*> &tokens, SmallVector<MCParsedAsmOperand*, 5> parsedOperands; SmallVector<AsmToken, 10> asmTokens; - if(disassembler.parseInst(parsedOperands, asmTokens, str)) + if (disassembler.parseInst(parsedOperands, asmTokens, str)) return -1; SmallVectorImpl<MCParsedAsmOperand*>::iterator operandIterator; @@ -115,7 +115,7 @@ int EDToken::tokenize(std::vector<EDToken*> &tokens, const char *tokenPointer = tokenLoc.getPointer(); - if(tokenPointer > wsPointer) { + if (tokenPointer > wsPointer) { unsigned long wsLength = tokenPointer - wsPointer; EDToken *whitespaceToken = new EDToken(StringRef(wsPointer, wsLength), @@ -164,7 +164,7 @@ int EDToken::tokenize(std::vector<EDToken*> &tokens, int64_t intVal = tokenIterator->getIntVal(); - if(intVal < 0) + if (intVal < 0) token->makeLiteral(true, -intVal); else token->makeLiteral(false, intVal); @@ -182,14 +182,14 @@ int EDToken::tokenize(std::vector<EDToken*> &tokens, } } - if(operandIterator != parsedOperands.end() && + if (operandIterator != parsedOperands.end() && tokenLoc.getPointer() >= (*operandIterator)->getStartLoc().getPointer()) { /// operandIndex == 0 means the operand is the instruction (which the /// AsmParser treats as an operand but edis does not). We therefore skip /// operandIndex == 0 and subtract 1 from all other operand indices. - if(operandIndex > 0) + if (operandIndex > 0) token->setOperandID(operandOrder[operandIndex - 1]); } @@ -200,7 +200,7 @@ int EDToken::tokenize(std::vector<EDToken*> &tokens, } int EDToken::getString(const char*& buf) { - if(PermStr.length() == 0) { + if (PermStr.length() == 0) { PermStr = Str.str(); } buf = PermStr.c_str(); |