mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 04:09:45 +00:00
llvm-mc: Print encodings after the instruction, and only when we have an asm
printer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80233 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1ca3a0bf22
commit
a356aea804
@ -295,26 +295,27 @@ static raw_ostream &operator<<(raw_ostream &OS, const MCOperand &Op) {
|
||||
void MCAsmStreamer::EmitInstruction(const MCInst &Inst) {
|
||||
assert(CurSection && "Cannot emit contents before setting section!");
|
||||
|
||||
// Show the encoding if we have a code emitter.
|
||||
if (Emitter) {
|
||||
SmallString<256> Code;
|
||||
raw_svector_ostream VecOS(Code);
|
||||
Emitter->EncodeInstruction(Inst, VecOS);
|
||||
VecOS.flush();
|
||||
|
||||
OS.indent(20);
|
||||
OS << " # encoding: [";
|
||||
for (unsigned i = 0, e = Code.size(); i != e; ++i) {
|
||||
if (i + 1 != e)
|
||||
OS << ',';
|
||||
OS << format("%#04x", Code[i]);
|
||||
}
|
||||
OS << "]\n";
|
||||
}
|
||||
|
||||
// If we have an AsmPrinter, use that to print.
|
||||
if (Printer) {
|
||||
Printer->printMCInst(&Inst);
|
||||
|
||||
// Show the encoding if we have a code emitter.
|
||||
if (Emitter) {
|
||||
SmallString<256> Code;
|
||||
raw_svector_ostream VecOS(Code);
|
||||
Emitter->EncodeInstruction(Inst, VecOS);
|
||||
VecOS.flush();
|
||||
|
||||
OS.indent(20);
|
||||
OS << " # encoding: [";
|
||||
for (unsigned i = 0, e = Code.size(); i != e; ++i) {
|
||||
if (i)
|
||||
OS << ',';
|
||||
OS << format("%#04x", uint8_t(Code[i]));
|
||||
}
|
||||
OS << "]\n";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user