summaryrefslogtreecommitdiff
path: root/tools/edis
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-04-09 00:11:15 +0000
committerSean Callanan <scallanan@apple.com>2010-04-09 00:11:15 +0000
commit4285b294a86f507822b8c00d85888e78f69672e5 (patch)
tree06247dc513d78e7fee78170ee1abdb1afd72cef7 /tools/edis
parente60bb15982dc40517e078c3858fdc0716d43abb5 (diff)
downloadllvm-4285b294a86f507822b8c00d85888e78f69672e5.tar.gz
llvm-4285b294a86f507822b8c00d85888e78f69672e5.tar.bz2
llvm-4285b294a86f507822b8c00d85888e78f69672e5.tar.xz
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
Diffstat (limited to 'tools/edis')
-rw-r--r--tools/edis/EDDisassembler.cpp6
-rw-r--r--tools/edis/EDInst.cpp3
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);
}