summaryrefslogtreecommitdiff
path: root/tools/llvm-objdump
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2011-09-15 23:38:46 +0000
committerOwen Anderson <resistor@mac.com>2011-09-15 23:38:46 +0000
commit98c5ddabca1debf935a07d14d0cbc9732374bdb8 (patch)
tree74e944d1e23e4ead852d53c54a5946ae6f1e56f8 /tools/llvm-objdump
parent71280b55a3406c7dd4215449bf4a3ab216e78ffd (diff)
downloadllvm-98c5ddabca1debf935a07d14d0cbc9732374bdb8.tar.gz
llvm-98c5ddabca1debf935a07d14d0cbc9732374bdb8.tar.bz2
llvm-98c5ddabca1debf935a07d14d0cbc9732374bdb8.tar.xz
Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139876 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-objdump')
-rw-r--r--tools/llvm-objdump/MCFunction.cpp2
-rw-r--r--tools/llvm-objdump/llvm-objdump.cpp9
2 files changed, 6 insertions, 5 deletions
diff --git a/tools/llvm-objdump/MCFunction.cpp b/tools/llvm-objdump/MCFunction.cpp
index 418e9d050c..5f1649694d 100644
--- a/tools/llvm-objdump/MCFunction.cpp
+++ b/tools/llvm-objdump/MCFunction.cpp
@@ -40,7 +40,7 @@ MCFunction::createFunctionFromMC(StringRef Name, const MCDisassembler *DisAsm,
for (uint64_t Index = Start; Index < End; Index += Size) {
MCInst Inst;
- if (DisAsm->getInstruction(Inst, Size, Region, Index, DebugOut)) {
+ if (DisAsm->getInstruction(Inst, Size, Region, Index, DebugOut, nulls())) {
if (Ana->isBranch(Inst)) {
uint64_t targ = Ana->evaluateBranch(Inst, Index, Size);
// FIXME: Distinguish relocations from nop jumps.
diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp
index c0022d403e..4cfd4f4164 100644
--- a/tools/llvm-objdump/llvm-objdump.cpp
+++ b/tools/llvm-objdump/llvm-objdump.cpp
@@ -262,13 +262,14 @@ static void DisassembleInput(const StringRef &Filename) {
if (!CFG) {
for (Index = Start; Index < End; Index += Size) {
MCInst Inst;
+
if (DisAsm->getInstruction(Inst, Size, memoryObject, Index,
- DebugOut)) {
+ DebugOut, nulls())) {
uint64_t addr;
if (error(i->getAddress(addr))) break;
outs() << format("%8x:\t", addr + Index);
DumpBytes(StringRef(Bytes.data() + Index, Size));
- IP->printInst(&Inst, outs());
+ IP->printInst(&Inst, outs(), "");
outs() << "\n";
} else {
errs() << ToolName << ": warning: invalid instruction encoding\n";
@@ -323,7 +324,7 @@ static void DisassembleInput(const StringRef &Filename) {
// Simple loops.
if (fi->second.contains(&fi->second))
outs() << '\t';
- IP->printInst(&Inst.Inst, outs());
+ IP->printInst(&Inst.Inst, outs(), "");
outs() << '\n';
}
}
@@ -359,7 +360,7 @@ static void DisassembleInput(const StringRef &Filename) {
// Escape special chars and print the instruction in mnemonic form.
std::string Str;
raw_string_ostream OS(Str);
- IP->printInst(&i->second.getInsts()[ii].Inst, OS);
+ IP->printInst(&i->second.getInsts()[ii].Inst, OS, "");
Out << DOT::EscapeString(OS.str()) << '|';
}
Out << "<o>\" shape=\"record\" ];\n";