diff options
author | Sean Callanan <scallanan@apple.com> | 2010-04-09 00:11:15 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2010-04-09 00:11:15 +0000 |
commit | 4285b294a86f507822b8c00d85888e78f69672e5 (patch) | |
tree | 06247dc513d78e7fee78170ee1abdb1afd72cef7 | |
parent | e60bb15982dc40517e078c3858fdc0716d43abb5 (diff) |
Bugfixes for edis. Code to initialize instruction
state was being executed too lazily, and the LLVM
assembly syntax for the disassembler was not being
written into the proper disassembler state variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100830 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/edis/EDDisassembler.cpp | 6 | ||||
-rw-r--r-- | tools/edis/EDInst.cpp | 3 |
2 files changed, 4 insertions, 5 deletions
diff --git a/tools/edis/EDDisassembler.cpp b/tools/edis/EDDisassembler.cpp index 072df822bf..ed7dfb1a41 100644 --- a/tools/edis/EDDisassembler.cpp +++ b/tools/edis/EDDisassembler.cpp @@ -171,9 +171,9 @@ EDDisassembler::EDDisassembler(CPUKey &key) : const char *triple = infoMap->String; - int syntaxVariant = getLLVMSyntaxVariant(key.Arch, key.Syntax); + LLVMSyntaxVariant = getLLVMSyntaxVariant(key.Arch, key.Syntax); - if (syntaxVariant < 0) + if (LLVMSyntaxVariant < 0) return; std::string tripleString(triple); @@ -210,7 +210,7 @@ EDDisassembler::EDDisassembler(CPUKey &key) : InstString.reset(new std::string); InstStream.reset(new raw_string_ostream(*InstString)); - InstPrinter.reset(Tgt->createMCInstPrinter(syntaxVariant, *AsmInfo)); + InstPrinter.reset(Tgt->createMCInstPrinter(LLVMSyntaxVariant, *AsmInfo)); if (!InstPrinter) return; diff --git a/tools/edis/EDInst.cpp b/tools/edis/EDInst.cpp index 1b6a3607ba..de40770e90 100644 --- a/tools/edis/EDInst.cpp +++ b/tools/edis/EDInst.cpp @@ -33,6 +33,7 @@ EDInst::EDInst(llvm::MCInst *inst, BranchTarget(-1), MoveSource(-1), MoveTarget(-1) { + OperandOrder = ThisInstInfo->operandOrders[Disassembler.llvmSyntaxVariant()]; } EDInst::~EDInst() { @@ -60,8 +61,6 @@ int EDInst::stringify() { if (Disassembler.printInst(String, *Inst)) return StringifyResult.setResult(-1); - - OperandOrder = ThisInstInfo->operandOrders[Disassembler.llvmSyntaxVariant()]; return StringifyResult.setResult(0); } |