]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commit
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)
commit6a222ec8935e94defb7e096d8ce4069e69b42433
treec74f5cc48df1287731f332156dab42bdb063dd68
parent9abbcb7453368fbdb30f155e99c9dd05b5a154a3
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221751 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
include/llvm/MC/MCDisassembler.h
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
lib/MC/MCDisassembler/Disassembler.cpp
lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
lib/Target/AArch64/Disassembler/AArch64Disassembler.h
lib/Target/ARM/Disassembler/ARMDisassembler.cpp
lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
lib/Target/Mips/Disassembler/MipsDisassembler.cpp
lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
lib/Target/X86/Disassembler/X86Disassembler.cpp
lib/Target/X86/Disassembler/X86Disassembler.h
lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
tools/llvm-mc/Disassembler.cpp
tools/llvm-objdump/MachODump.cpp
tools/llvm-objdump/llvm-objdump.cpp