Pass an ArrayRef to MCDisassembler::getInstruction.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 12 Nov 2014 02:04:27 +0000 (02:04 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 12 Nov 2014 02:04:27 +0000 (02:04 +0000)
commit7fc5b874806127cea6c610297a86d446dbfa6120
tree7ab49f51a0ca5d14fefddd0f6060eec226943a53
parent2e32155b58aecf4ff9643b3bcae7a7f86d228b0a
Pass an ArrayRef to MCDisassembler::getInstruction.

With this patch MCDisassembler::getInstruction takes an ArrayRef<uint8_t>
instead of a MemoryObject.

Even on X86 there is a maximum size an instruction can have. Given
that, it seems way simpler and more efficient to just pass an ArrayRef
to the disassembler instead of a MemoryObject and have it do a virtual
call every time it wants some extra bytes.

llvm-svn: 221751
17 files changed:
llvm/include/llvm/MC/MCDisassembler.h
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
llvm/lib/MC/MCDisassembler/Disassembler.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.h
llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
llvm/lib/Target/X86/Disassembler/X86Disassembler.h
llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
llvm/tools/llvm-mc/Disassembler.cpp
llvm/tools/llvm-objdump/MachODump.cpp
llvm/tools/llvm-objdump/llvm-objdump.cpp