| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
|
|
|
| |
llvm-svn: 128826
|
|
|
|
|
|
|
|
|
| |
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: 126578
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
prefix would be misinterpreted in some cases on 32-bit
x86 platforms. Thanks to Olivier Meurant for identifying
the bug.
llvm-svn: 124709
|
|
|
|
|
|
|
|
|
|
| |
clang's -Wuninitialized-experimental warning.
While these don't look like real bugs, clang's
-Wuninitialized-experimental analysis is stricter
than GCC's, and these fixes have the benefit
of being general nice cleanups.
llvm-svn: 124073
|
|
|
|
|
|
| |
Patch by Richard Simth.
llvm-svn: 122962
|
|
|
|
|
|
| |
files in Target/ARM and Target/X86.
llvm-svn: 122623
|
|
|
|
| |
llvm-svn: 120298
|
|
|
|
| |
llvm-svn: 117206
|
|
|
|
| |
llvm-svn: 117202
|
|
|
|
|
|
|
|
|
| |
weren't properly reflecting the OperandSize attribute
of the instruction leading to improper decoding of
certain instructions with the 66H prefix. Also added
a test case for this.
llvm-svn: 117084
|
|
|
|
|
|
|
|
|
|
| |
operands.
With this done, we can remove the _Int suffixes from the round instructions
without the disassembler blowing up. This allows the assembler to support
them, implementing rdar://8456376 - llvm-mc rejects 'roundss'
llvm-svn: 115019
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r113632
Conflicts:
cmake/modules/AddLLVM.cmake
llvm-svn: 113819
|
|
|
|
| |
llvm-svn: 113632
|
|
|
|
|
|
|
| |
disassembler. Remove some code from the disassembler to
compensate, unbreaking disassembly of lea's.
llvm-svn: 108226
|
|
|
|
| |
llvm-svn: 105527
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
an optimizer infinite loop on the file, PR6866.
llvm-svn: 101854
|
|
|
|
| |
llvm-svn: 101538
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
argument that had to be between 0 and 7 to have any value,
firing an assert later in the AsmPrinter. Now, the
disassembler rejects instructions with out-of-range values
for that immediate.
llvm-svn: 100694
|
|
|
|
|
|
|
| |
return an error status in all failure cases, printing
messages to debugs() only when debugging is enabled.
llvm-svn: 100229
|
|
|
|
| |
llvm-svn: 99097
|
|
|
|
|
|
| |
format a size_t.
llvm-svn: 98819
|
|
|
|
| |
llvm-svn: 98394
|
|
|
|
| |
llvm-svn: 94378
|
|
|
|
|
|
|
|
|
|
|
| |
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.
This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.
llvm-svn: 94164
|
|
|
|
|
|
| |
static inline functions with macros.
llvm-svn: 91973
|
|
|
|
|
|
| |
because the Visual C++ build does not build .c files as C99
llvm-svn: 91935
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
path. Fixes CMake build
llvm-svn: 91908
|
|
|
|
|
|
| |
with symbols in AuroraUX's global namespace.
llvm-svn: 91879
|
|
|
|
| |
llvm-svn: 91878
|
|
|
|
|
|
| |
X86 codegen that were causing circular symbol dependencies.
llvm-svn: 91871
|
|
|
|
| |
llvm-svn: 91778
|
|
|
|
|
|
| |
defines dprintf in stdio.h
llvm-svn: 91775
|
|
|
|
| |
llvm-svn: 91754
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
llvm-svn: 89850
|