b438615abdc826a2fef33895b50dc60e3f39f988 |
|
05-Sep-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Use const properly so that we dont remove const qualifier from region and MII by casting. Found with gcc48. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
bf4043768c6726db523f99460645842e5024fc7f |
|
31-Aug-2012 |
Craig Topper <craig.topper@gmail.com> |
Add support for converting llvm.fma to fma4 instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
5a2c607153993fb7f7e04f9482520b64dffe5757 |
|
01-Aug-2012 |
Craig Topper <craig.topper@gmail.com> |
Add more indirection to the disassembler tables to reduce amount of space used to store the operand types and encodings. Store only the unique combinations in a separate table and store indices in the instruction table. Saves about 32K of static data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
16b7dd64e91f1b05b40ebfeb64b49f3ac17cb426 |
|
24-Jul-2012 |
Kevin Enderby <enderby@apple.com> |
Fix a bug in the x86 disassembler's symbolic disassembly support for Jcc-Jump if Condition Is Met instuctions that was not correctly determining the target instruction. So for a jne rel32 instruction: % cat x.s .byte 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00 % as x.s it was incorrectly deterining the target: % otool -q -tv a.out a.out: (__TEXT,__text) section 0000000000000000 jne 0xd and with the fix it gets this correct as: % otool -q -tv a.out a.out: (__TEXT,__text) section 0000000000000000 jne 0xf rdar://11505997 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
56cb2298663017eb77aa4f4dda8db7ecd1b58173 |
|
19-Jul-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove tabs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
40307c7dbe2d104784763c28697d7926793674af |
|
29-Jun-2012 |
Manman Ren <mren@apple.com> |
X86: add more GATHER intrinsics in LLVM Corrected type for index of llvm.x86.avx2.gather.d.pd.256 from 256-bit to 128-bit. Corrected types for src|dst|mask of llvm.x86.avx2.gather.q.ps.256 from 256-bit to 128-bit. Support the following intrinsics: llvm.x86.avx2.gather.d.q, llvm.x86.avx2.gather.q.q llvm.x86.avx2.gather.d.q.256, llvm.x86.avx2.gather.q.q.256 llvm.x86.avx2.gather.d.d, llvm.x86.avx2.gather.q.d llvm.x86.avx2.gather.d.d.256, llvm.x86.avx2.gather.q.d.256 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
1f7a1b68a07ea6bdf521525a7928f4a8c5216713 |
|
26-Jun-2012 |
Manman Ren <mren@apple.com> |
X86: add GATHER intrinsics (AVX2) in LLVM Support the following intrinsics: llvm.x86.avx2.gather.d.pd, llvm.x86.avx2.gather.q.pd llvm.x86.avx2.gather.d.pd.256, llvm.x86.avx2.gather.q.pd.256 llvm.x86.avx2.gather.d.ps, llvm.x86.avx2.gather.q.ps llvm.x86.avx2.gather.d.ps.256, llvm.x86.avx2.gather.q.ps.256 Modified Disassembler to handle VSIB addressing mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
c007eff5365d4216bcb243a3eea9c372267d0964 |
|
19-Apr-2012 |
Kevin Enderby <enderby@apple.com> |
Fixed the llvm-mv X86 disassembler so the 'C' API gets jumps properly symbolicated. These have and operand type of TYPE_RELv which was not handled as isBranch in translateImmediate() in X86Disassembler.cpp. rdar://11268426 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
991271d9c454c9d599b63e4ebdd27b546e1782a1 |
|
04-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Use uint8_t instead of enums to store values in X86 disassembler table. Shaves 150k off the size of X86DisassemblerDecoder.o git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
8bee081a2cc6a84de125525215fffb4cc1cbe12a |
|
29-Feb-2012 |
Kevin Enderby <enderby@apple.com> |
Added annotations for x86 pc relative loads to llvm's 'C' disassembler. So with darwin's otool(1) an x86_64 hello world .o file will print: leaq L_.str(%rip), %rax ## literal pool for: Hello world git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
adef06a71458ded0716935a61b3d43d164d4df12 |
|
29-Feb-2012 |
Derek Schuff <dschuff@google.com> |
Make MemoryObject accessor members const again git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
b80d571ea85db5d52fafed0523cf59e693502198 |
|
23-Feb-2012 |
Kevin Enderby <enderby@apple.com> |
Updated the llvm-mc disassembler C API to support for the X86 target. rdar://10873652 As part of this I updated the llvm-mc disassembler C API to always call the SymbolLookUp call back even if there is no getOpInfo call back. If there is a getOpInfo call back that is tried first and then if that gets no information then the SymbolLookUp is called. I also made the code more robust by memset(3)'ing to zero the LLVMOpInfo1 struct before then setting SymbolicOp.Value before for the call to getOpInfo. And also don't use any values from the LLVMOpInfo1 struct if getOpInfo returns 0. And also don't use any of the ReferenceType or ReferenceName values from SymbolLookUp if it returns NULL. rdar://10873563 and rdar://10873683 For the X86 target also fixed bugs so the annotations get printed. Also fixed a few places in the ARM target that was not producing symbolic operands for some instructions. rdar://10878166 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
31d157ae1ac2cd9c787dc3c1d28e64c682803844 |
|
18-Feb-2012 |
Jia Liu <proljc@gmail.com> |
Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
88b6fc06db667bd26d6ef661597affaa6abfdd0d |
|
11-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make the EDis tables const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
953362cdfbf1088153f65376c86d22ee0176bcdf |
|
11-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Reuse the enum names from X86Desc in the X86Disassembler. This requires some gymnastics to make it available for C code. Remove the names from the disassembler tables, making them relocation free. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
2ea93875b2f2900b9d244dfd7649c9ed02a34cd7 |
|
06-Feb-2012 |
Derek Schuff <dschuff@google.com> |
Enable streaming of bitcode This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
224c1b275d34ea32707c1d6f999d82ffabbac06e |
|
21-Dec-2011 |
Craig Topper <craig.topper@gmail.com> |
Remove mode specific disassembler classes and just call X86GenericDisassembler constructor with appropriate argument in the creation functions. This removes a few tables that needed to be anchored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
2d24e2a396a1d211baaeedf32148a3b657240170 |
|
20-Dec-2011 |
David Blaikie <dblaikie@gmail.com> |
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
15c9a1f60c2e9d9cb854d5c0072755be91d1cc96 |
|
21-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
X86Disassembler: if verbose logging is going to nulls(), disable logging completely. Otherwise we'll spend a ridiculous amount of time pretty printing debug output and then discarding it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
98c5ddabca1debf935a07d14d0cbc9732374bdb8 |
|
16-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
3bb43a829e03ed8ea671f5bc331772ef7afc3313 |
|
14-Sep-2011 |
Craig Topper <craig.topper@gmail.com> |
Make disassembling of VBLEND* print immediate as a XMM/YMM register name. Fixes PR10917. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
b950585cc5a0d665e9accfe5ce490cd269756f2e |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
d5705fe50d58dd2b686b26d1683315f785246ce0 |
|
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
83e3f67fb68d497b600da83a62f000fcce7868a9 |
|
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 James Molloy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
73f50d9bc3bd46cc0abeba9bb0d46977ba1aea42 |
|
27-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
Merge XXXGenRegisterDesc.inc XXXGenRegisterNames.inc XXXGenRegisterInfo.h.inc into XXXGenRegisterInfo.inc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
a21e2eae3def2fe39caed861dcb73c76c715569b |
|
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 table support that enables AVX instructions for the disassembler is in an upcoming patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
89e59e6343303696e14d4c134582dda083cf7408 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
4d1dca92bd6d4aad7121e28c7ffc93c0a6a187d7 |
|
23-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make the disassembler tables const so they end up in read-only memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
37a746bc854d050ded5e280a13aad359852eb06a |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
1a8b789a4b8290d263c1c75411788ca45bae3230 |
|
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 to verify that the registers continue to be decoded correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
be192dd1e987361ecf51ff385cbf541cb7f779be |
|
06-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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
9899f70a7406d632c82849978bf6981f1ee4ccb5 |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
a144c3f34dd8adc093d9be6cbc3e6f39d47c75dd |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
5d067fe1580772a8e012ff0acc06e21e9b95d340 |
|
20-Mar-2010 |
Daniel Dunbar <daniel@zuster.org> |
TargetRegistry: Fix create{AsmInfo,MCDisassembler} to return non-const objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
7fb35a2fd83f5deadefcb230669b07e1d5b98137 |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
3dac3b7d2369bc7d051d0f709d63c321c1375532 |
|
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
0122c9051a0157908e3f4e1c604435339ac4761d |
|
22-Dec-2009 |
Sean Callanan <scallanan@apple.com> |
Fixed library dependencies between the X86 disassembler and X86 codegen that were causing circular symbol dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
c814346c9dbaed4f8521e9c4aa9d8bb41152d9c3 |
|
19-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
#if 0 out X86 disassembler for now, it is breaking the build in multiple places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
8ed9f51663bc5533f36ca62e5668ae08e9a1313f |
|
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 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|
5f9b9efa1719d2b716581ccce977bed65865cc18 |
|
25-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Sketch structure for X86 disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
|