| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
This is the first step towards splitting LLVM and Clang's tblgen executables.
llvm-svn: 140951
|
|
|
|
|
|
| |
Fixes part of PR10700.
llvm-svn: 140370
|
|
|
|
|
|
| |
disassembling to ignore OpSize and REX.W.
llvm-svn: 139484
|
|
|
|
|
|
| |
from disassembling to their non-VEX form. Also prevents weak filter collisons that were keeping valid VEX instructions from decoding properly. Make VEX_L* not inherit from VEX_* because the VEX.L bit always important. This stops packed int VEX encodings from being disassembled when specified with VEX.L=1. Fixes PR10831 and PR10806.
llvm-svn: 138997
|
|
|
|
|
|
| |
table. Fixes disassembling of VEX instructions with 'pp'=00. Fixes subset of PR10678.
llvm-svn: 138552
|
|
|
|
| |
llvm-svn: 128826
|
|
|
|
| |
llvm-svn: 128823
|
|
|
|
| |
llvm-svn: 128818
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 117208
|
|
|
|
| |
llvm-svn: 117206
|
|
|
|
| |
llvm-svn: 117111
|
|
|
|
| |
llvm-svn: 101376
|
|
|
|
| |
llvm-svn: 91959
|
|
|
|
| |
llvm-svn: 91774
|
|
|
|
| |
llvm-svn: 91757
|
|
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
|