#
4c493e80 |
| 07-Sep-2011 |
James Molloy <james.molloy@arm.com> |
Refactor instprinter and mcdisassembler to take a SubtargetInfo. Add -mattr= handling to llvm-mc. Reviewed by Owen Anderson.
llvm-svn: 139237
|
#
5b03f722 |
| 02-Sep-2011 |
Kevin Enderby <enderby@apple.com> |
Change X86 disassembly to print immediates values as signed by default. Special case those instructions that the immediate is not sign-extend. radr://8795217
llvm-svn: 139028
|
#
2bb40357 |
| 24-Aug-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetRegistry and TargetSelect from Target to Support where they belong. These are strictly utilities for registering targets and components.
llvm-svn: 138450
|
#
a4043c4b |
| 17-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Allow the MCDisassembler to return a "soft fail" status code, indicating an instruction that is disassemblable, but invalid. Only used for ARM UNPREDICTABLE instructions at the moment. Patch by Jame
Allow the MCDisassembler to return a "soft fail" status code, indicating an instruction that is disassemblable, but invalid. Only used for ARM UNPREDICTABLE instructions at the moment. Patch by James Molloy.
llvm-svn: 137830
show more ...
|
#
d9997acd |
| 27-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
Merge XXXGenRegisterDesc.inc XXXGenRegisterNames.inc XXXGenRegisterInfo.h.inc into XXXGenRegisterInfo.inc.
llvm-svn: 133922
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2 |
|
#
c3fd5237 |
| 15-Mar-2011 |
Sean Callanan <scallanan@apple.com> |
X86 table-generator and disassembler support for the AVX instruction set. This code adds support for the VEX prefix and for the YMM registers accessible on AVX-enabled architectures. Instruction ta
X86 table-generator and disassembler support for the AVX instruction set. This code adds support for the VEX prefix and for the YMM registers accessible on AVX-enabled architectures. Instruction table support that enables AVX instructions for the disassembler is in an upcoming patch.
llvm-svn: 127644
show more ...
|
Revision tags: llvmorg-2.9.0-rc1 |
|
#
5e8603d1 |
| 21-Feb-2011 |
Sean Callanan <scallanan@apple.com> |
Fixed a bug in the X86 disassembler where a member of the X86 instruction decode structure was being interpreted as being in units of bits, although it is actually stored in units of bytes.
llvm-svn
Fixed a bug in the X86 disassembler where a member of the X86 instruction decode structure was being interpreted as being in units of bits, although it is actually stored in units of bytes.
llvm-svn: 126147
show more ...
|
#
de0a4fbf |
| 23-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make the disassembler tables const so they end up in read-only memory.
llvm-svn: 117206
|
Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
55595fb2 |
| 13-Jul-2010 |
Chris Lattner <sabre@nondot.org> |
my work on adding segment registers to LEA missed the disassembler. Remove some code from the disassembler to compensate, unbreaking disassembly of lea's.
llvm-svn: 108226
|
#
e7e1cf9f |
| 06-May-2010 |
Sean Callanan <scallanan@apple.com> |
Eliminated the classification of control registers into %ecr_ and %rcr_, leaving just %cr_ which is what people expect. Updated the disassembler to support this unified register set. Added a testcase
Eliminated the classification of control registers into %ecr_ and %rcr_, leaving just %cr_ which is what people expect. Updated the disassembler to support this unified register set. Added a testcase to verify that the registers continue to be decoded correctly.
llvm-svn: 103196
show more ...
|
#
4cd930f4 |
| 05-May-2010 |
Sean Callanan <scallanan@apple.com> |
Fixed a sign-extension bug in the X86 disassembler that was causing PC-relative branch targets to be evaluated incorrectly. Also added support for checking operand values to the llvm-mc tester.
llv
Fixed a sign-extension bug in the X86 disassembler that was causing PC-relative branch targets to be evaluated incorrectly. Also added support for checking operand values to the llvm-mc tester.
llvm-svn: 103128
show more ...
|
Revision tags: llvmorg-2.7.0 |
|
#
814e69b1 |
| 13-Apr-2010 |
Sean Callanan <scallanan@apple.com> |
Fixed a nasty layering violation in the edis source code. It used to #include the enhanced disassembly information for the targets it supported straight out of lib/Target/{X86,ARM,...} but now it us
Fixed a nasty layering violation in the edis source code. It used to #include the enhanced disassembly information for the targets it supported straight out of lib/Target/{X86,ARM,...} but now it uses a new interface provided by MCDisassembler, and (so far) implemented by X86 and ARM.
Also removed hacky #define-controlled initialization of targets in edis. If clients only want edis to initialize a limited set of targets, they can set --enable-targets on the configure command line.
llvm-svn: 101179
show more ...
|
#
010b373c |
| 02-Apr-2010 |
Sean Callanan <scallanan@apple.com> |
Fixes to the X86 disassembler. The disassembler will now return an error status in all failure cases, printing messages to debugs() only when debugging is enabled.
llvm-svn: 100229
|
#
fed917e0 |
| 20-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
TargetRegistry: Fix create{AsmInfo,MCDisassembler} to return non-const objects.
llvm-svn: 99097
|
#
36eab808 |
| 22-Dec-2009 |
Sean Callanan <scallanan@apple.com> |
Fixes to the X86 disassembler: Made LEA memory operands emit only 4 MCInst operands. Made the scale operand equal 1 for instructions that have no SIB byte.
llvm-svn: 91919
|
#
8b858396 |
| 22-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Include based on the current path, since we already -I the X86 target's path. Fixes CMake build
llvm-svn: 91908
|
#
5c8f4cd3 |
| 22-Dec-2009 |
Sean Callanan <scallanan@apple.com> |
Fixed library dependencies between the X86 disassembler and X86 codegen that were causing circular symbol dependencies.
llvm-svn: 91871
|
#
4750efc2 |
| 19-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
#if 0 out X86 disassembler for now, it is breaking the build in multiple places.
llvm-svn: 91778
|
#
04cc307e |
| 19-Dec-2009 |
Sean Callanan <scallanan@apple.com> |
Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit incarnations), integrated into the MC framework.
The disassembler is table-driven, using a custom TableGen backend to gen
Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit incarnations), integrated into the MC framework.
The disassembler is table-driven, using a custom TableGen backend to generate hierarchical tables optimized for fast decode. The disassembler consumes MemoryObjects and produces arrays of MCInsts, adhering to the abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).
The disassembler is documented in detail in
- lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime) - utils/TableGen/DisassemblerEmitter.cpp (table emitter)
You can test the disassembler by running llvm-mc -disassemble for i386 or x86_64 targets. Please let me know if you encounter any problems with it.
llvm-svn: 91749
show more ...
|
#
900f2ce3 |
| 25-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Sketch structure for X86 disassembler.
llvm-svn: 89850
|