Add printing support for indirect tail calls.

Summary:
LLVM was missing assembler print string for indirect tail
calls which are synthetic instructions created by us.

(cherry picked from FBD3640197)
This commit is contained in:
Maksim Panchenko
2016-07-28 18:49:48 -07:00
parent 50e011f4e5
commit 486ab273c7
2 changed files with 1 additions and 14 deletions

View File

@@ -289,11 +289,7 @@ void BinaryContext::printInstruction(raw_ostream &OS,
OS << "\n";
return;
}
if (!MIA->isUnsupported(Instruction)) {
InstPrinter->printInst(&Instruction, OS, "", *STI);
} else {
OS << "unsupported (probably jmpr)";
}
InstPrinter->printInst(&Instruction, OS, "", *STI);
if (MIA->isCall(Instruction)) {
if (MIA->isTailCall(Instruction))
OS << " # TAILCALL ";

View File

@@ -386,15 +386,6 @@ bool BinaryFunction::disassemble(ArrayRef<uint8_t> FunctionData) {
break;
}
if (MIA->isUnsupported(Instruction)) {
errs() << "BOLT-WARNING: unsupported instruction seen at offset 0x"
<< Twine::utohexstr(Offset) << " (address 0x"
<< Twine::utohexstr(AbsoluteInstrAddr) << ") in function "
<< getName() << '\n';
IsSimple = false;
break;
}
// Convert instruction to a shorter version that could be relaxed if needed.
MIA->shortenInstruction(Instruction);