dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
fa840ba402806d978c18401c6bea1c808607d944 |
|
08-Nov-2013 |
Artyom Skrobov <Artyom.Skrobov@arm.com> |
[ARM] Handling for coprocessor instructions that are undefined starting from ARMv8 (ARM encodings) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
3f04b5068619ca0411521c9871f4bfc6b04f951f |
|
30-Oct-2013 |
Artyom Skrobov <Artyom.Skrobov@arm.com> |
[ARM] NEON instructions were erroneously decoded from certain invalid encodings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
01b0e94bb731310e72f66977e4b57cd3f3280ba4 |
|
22-Oct-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: provide diagnostics on more writeback LDM/STM instructions The set of circumstances where the writeback register is allowed to be in the list of registers is rather baroque, but I think this implements them all on the assembly parsing side. For disassembly, we still warn about an ARM-mode LDM even if the architecture revision is < v7 (the required architecture information isn't available). It's a silly instruction anyway, so hopefully no-one will mind. rdar://problem/15223374 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
441aeddd56d000ff77460586961a523e41edd205 |
|
01-Oct-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARM] Remove an unused function from the disassembler. Pointed out by Joerg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
5df37dab763ce377095389c4ea1cff88db369954 |
|
19-Sep-2013 |
Amara Emerson <amara.emerson@arm.com> |
[ARMv8] Add support for the v8 cryptography extensions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4f7092176c3d3eaae0ea7af26aec2d77b3e4035f |
|
06-Aug-2013 |
Mihai Popa <mihail.popa@gmail.com> |
This corrects creation of operands for t2PLDW. It also removes the definition of t2PLDWpci, as pldw does not have a literal variant (i.e. pc relative version) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
19c14abf1c4ccebfa7d07bdd6ea8462a15c0b749 |
|
17-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
[ARMv8] Add support for the NEON instructions vmaxnm/vminnm. This adds a new class for non-predicable NEON instructions and a new DecoderNamespace for v8 NEON instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
1e9ddc229f3d837a79eed1d7ac43743db148f8d1 |
|
04-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
Remove an unneeded call to 'UpdateThumbVFPPredicate', spotted by Amaury. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4ea250524f77a67102118747dad6ee69f9f3b3aa |
|
04-Jul-2013 |
Joey Gouly <joey.gouly@arm.com> |
Add support for MC assembling and disassembling of vsel{ge, gt, eq, vs} instructions. This adds a new decoder table/namespace 'VFPV8', as these instructions have their top 4 bits as 0b1111, while other Thumb instructions have 0b1110. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ebc3938ae717d7352de800344c3ad5a1bceb74e5 |
|
24-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: check predicate bits for thumb instructions When encoded to thumb, VFP instruction and VMOV/VDUP between scalar and core registers, must have their predicate bit to 0b1110. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
07c3e159d8fffc8b16bcd52cc395a78007c62910 |
|
24-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: rGPR is meant to be unpredictable, not undefined git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ff08da15cf3d0412ee9cc325fc5a720bcad178f2 |
|
24-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: fix IT decoding mask == 0 -> UNPRED git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
0c9f0c047dfba91bc7c0fb66f7e868e917d37c4c |
|
24-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: enable decoding of pc-relative PLD/PLI git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ce046b98ed6c351779fc43599a80d588752bc1ca |
|
18-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: fix thumb literal loads decoding This fixes two previous issues: - Negative offsets were not correctly disassembled - The decoded opcodes were not the right one git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
cea0032f73a56a62b692b25ca4084850cd51763b |
|
18-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: thumb stores cannot use PC as dest register git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
8117ac555d06b23f61ddd06aa54d3dfa3e5b8e56 |
|
13-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: fix B decoding git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
aa8003712e8b28bc4f263aeb79d8851146273a05 |
|
11-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: Enforce decoding rules for VLDn instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
3862709058ecfe809c9d4b32e3bff0efe8ebe646 |
|
11-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: Fix STREX/LDREX reecoding The decoded MCInst wasn't reencoded as the same instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4e9a96d810eb0cc126ebe6f18e536b474c84940c |
|
10-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: ISB cannot be passed the same options as DMB ISB should only accepts full system sync, other options are reserved git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
9eefea009fb559cf441254f7022a2824386852c6 |
|
08-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: fix VMOVvnf32 decoding when ambiguous with VCVT Enforce Table A7-15 (op=1, cmode=0b111) -> UNDEF git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ae50ddb2aeaec7dd91ef8db3918688c104a6baed |
|
08-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: enforce SRS decoding constraints git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
46e136c952e0242308db2682ba2ec4020cdcd006 |
|
08-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: fix CPS decoding when ambiguous with QADD Handle the case when the disassembler table can't tell the difference between some encodings of QADD and CPS. Add some necessary safe guards in CPS decoding as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c64835b0c57913b11abd648b76913390e62af8d6 |
|
08-Jun-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
ARM: fix VCVT decoding UNPRED was reported instead of UNDEF git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
242c9f4615feeee2fbdd1f29cd9a8e8ffd43c075 |
|
31-May-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: add fstmx and fldmx instructions for assembly These instructions are deprecated oddities, but we still need to be able to disassemble (and reassemble) them if and when they're encountered. Patch by Amaury de la Vieuville. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c6af2432c802d241c8fffbe0371c023e6c58844e |
|
25-May-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Replace Count{Leading,Trailing}Zeros_{32,64} with count{Leading,Trailing}Zeros. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
49a6a8d8f2994249c81b7914b07015714748a55c |
|
24-May-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove the Copied parameter from MemoryObject::readBytes. There was exactly one caller using this API right, the others were relying on specific behavior of the default implementation. Since it's too hard to use it right just remove it and standardize on the default behavior. Defines away PR16132. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
2c94d0faa0e1c268893d5e04dc77e8a35889db00 |
|
24-May-2013 |
Ahmed Bougacha <ahmed.bougacha@gmail.com> |
Add MCSymbolizer for symbolic/annotated disassembly. This is a basic first step towards symbolization of disassembled instructions. This used to be done using externally provided (C API) callbacks. This patch introduces: - the MCSymbolizer class, that mimics the same functions that were used in the X86 and ARM disassemblers to symbolize immediate operands and to annotate loads based off PC (for things like c string literals). - the MCExternalSymbolizer class, which implements the old C API. - the MCRelocationInfo class, which provides a way for targets to translate relocations (either object::RelocationRef, or disassembler C API VariantKinds) to MCExprs. - the MCObjectSymbolizer class, which does symbolization using what it finds in an object::ObjectFile. This makes simple symbolization (with no fancy relocation stuff) work for all object formats! - x86-64 Mach-O and ELF MCRelocationInfos. - A basic ARM Mach-O MCRelocationInfo, that provides just enough to support the C API VariantKinds. Most of what works in otool (the only user of the old symbolization API that I know of) for x86-64 symbolic disassembly (-tvV) works, namely: - symbol references: call _foo; jmp 15 <_foo+50> - relocations: call _foo-_bar; call _foo-4 - __cf?string: leaq 193(%rip), %rax ## literal pool for "hello" Stub support is the main missing part (because libObject doesn't know, among other things, about mach-o indirect symbols). As for the MCSymbolizer API, instead of relying on the disassemblers to call the tryAdding* methods, maybe this could be done automagically using InstrInfo? For instance, even though PC-relative LEAs are used to get the address of string literals in a typical Mach-O file, a MOV would be used in an ELF file. And right now, the explicit symbolization only recognizes PC-relative LEAs. InstrInfo should have already have most of what is needed to know what to symbolize, so this can definitely be improved. I'd also like to remove object::RelocationRef::getValueString (it seems only used by relocation printing in objdump), as simply printing the created MCExpr is definitely enough (and cleaner than string concats). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
30a7a7c1fdbd2607345dd1554e3436749fd75c6e |
|
20-May-2013 |
Mihai Popa <mihail.popa@gmail.com> |
VSTn instructions have a number of encoding constraints which are not implemented. I have added these using wrapper methods around the original custom decoder (incidentally - this is a huge poorly written method that should be cleaned up. I have left it as is since the changes would be much to hard to review). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
bac932e9c3c4305a3c73598f3d0dc55de53d4c68 |
|
20-May-2013 |
Mihai Popa <mihail.popa@gmail.com> |
Q registers are encoded in fields of the same length as D registers. As Q registers are half as many, the ARM reference manual mandates the least significant bit to be zeroed out. Failure to do so should result in an undefined instruction. With this change test/MC/Disassembler/ARM/invalid-VQADD-arm.txt is passing (removed XFAIL). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4dc8bdf87d402ad8c91d9a72777d9576c5461e40 |
|
20-May-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Replace some bit operations with simpler ones. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
f86e436fb95670ed110818fefa403f21ae104639 |
|
13-May-2013 |
Mihai Popa <mihail.popa@gmail.com> |
The purpose of the patch is to fix the syntax of ARM mrc and mrc2 instructions when they are used to write to the APSR. In this case, the destination operand should be APSR_nzcv, and the encoding of the target should be 0b1111 (same as for PC). In pre-UAL syntax, this form used the PC register as a textual target. This is still allowed for backward compatibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
1ad3a410beff11913db0573942fb51b651d01a13 |
|
26-Apr-2013 |
Quentin Colombet <qcolombet@apple.com> |
ARM: Fix encoding of hint instruction for Thumb. "hint" space for Thumb actually overlaps the encoding space of the CPS instruction. In actuality, hints can be defined as CPS instructions where imod and M bits are all nil. Handle decoding of permitted nop-compatible hints (i.e. nop, yield, wfi, wfe, sev) in DecodeT2CPSInstruction. This commit adds a proper diagnostic message for Imm0_4 and updates all tests. Patch by Mihail Popa <Mihail.Popa@arm.com>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d3af696c08923d4d376641b52c3b2cb5baa00487 |
|
19-Apr-2013 |
Tim Northover <Tim.Northover@arm.com> |
ARM: Permit "sp" in ARM variant of STREXD instructions Patch from Mihail Popa git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4521019c6fd23680c583abe086067fc1c569bad1 |
|
19-Apr-2013 |
Tim Northover <Tim.Northover@arm.com> |
ARM: permit "sp" in ARM variants of MOVW/MOVT instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
7c4cf030a898b5b4e0d2c66adf8dc068b1f1f070 |
|
17-Apr-2013 |
Quentin Colombet <qcolombet@apple.com> |
Fix treatment of ARM unallocated hint instructions. The reference manual defines only 5 permitted values for the immediate field of the "hint" instruction: 1. nop (imm == 0) 2. yield (imm == 1) 3. wfe (imm == 2) 4. wfi (imm == 3) 5. sev (imm == 4) Therefore, restrict the permitted values for the "hint" instruction to 0 through 4. Patch by Mihail Popa <Mihail.Popa@arm.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ce888351106a72825e2a107cb08d7130f3dce0ee |
|
28-Mar-2013 |
Gordon Keiser <gkeiser@arxan.com> |
Fix issue with disassembler decoding CBZ/CBNZ immediates as negatives when the upper bit is set. They should always be zero-extended, not sign extended. Added test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b78821d380b6f9514bd3b56b1c27ba367660228b |
|
26-Mar-2013 |
Joe Abbey <jabbey@arxan.com> |
Patch by Gordon Keiser! If PC or SP is the destination, the disassembler erroneously failed with the invalid encoding, despite the manual saying that both are fine. This patch addresses failure to decode encoding T4 of LDR (A8.8.62) which is a postindexed load, where the offset 0xc is applied to SP after the load occurs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
759e3fa641d0ad01012d16d913015c9f69c8d2ab |
|
19-Dec-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Remove edis - the enhanced disassembler. Fixes PR14654. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
1c83093cd5f4f6d33e732c817bb5afd033531beb |
|
30-Nov-2012 |
Kevin Enderby <enderby@apple.com> |
Fixed the arm disassembly of invalid BFI instructions to not build a bad MCInst which would then cause an assert when printed. rdar://11437956 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
445ba85b8d7bc8fb4689ca22131cadc80a034705 |
|
30-Oct-2012 |
Kevin Enderby <enderby@apple.com> |
Fix ARM's b.w instruction for thumb 2 and the encoding T4. The branch target is 24 bits not 20 and the decoding needed to correctly handle converting the J1 and J2 bits to their I1 and I2 values to reconstruct the displacement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
88d12663abdac344f312b09edfe4934143436132 |
|
18-Oct-2012 |
Kevin Enderby <enderby@apple.com> |
Fix a bug where a 32-bit address with the high bit does not get symbolicated because the value is incorrectly being signed extended when passed to SymbolLookUp(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
93c7c449a1351542fa5a275587187154dbedb8e0 |
|
22-Sep-2012 |
Tim Northover <Tim.Northover@arm.com> |
Fix the handling of edge cases in ARM shifted operands. This patch fixes load/store instructions to handle less common cases like "asr #32", "rrx" properly throughout the MC layer. Patch by Chris Lidbury. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
24b9f258f194c5e472bf133f9bbf5ca26ad500d3 |
|
06-Sep-2012 |
Tim Northover <Tim.Northover@arm.com> |
Diagnose invalid alignments on duplicating VLDn instructions. Patch by Chris Lidbury. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
eae1d34029c159306ce4a0472294de6cf9baedac |
|
06-Sep-2012 |
Tim Northover <Tim.Northover@arm.com> |
Check for invalid alignment values when decoding VLDn/VSTn (single ln) instructions. Patch by Chris Lidbury. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
1144af3c9b4da48cd581156e05b24261c8de366a |
|
25-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix integer undefined behavior due to signed left shift overflow in LLVM. Reviewed offline by chandlerc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
960fb7437003dcb96c6af093e2d55e06e4c8bd43 |
|
17-Aug-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove unnecessary include of ARMGenInstrInfo.inc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
fc1a161d76f5cc0204bed3bce3e27cf36ac76d22 |
|
14-Aug-2012 |
Jim Grosbach <grosbach@apple.com> |
Switch the fixed-length disassembler to be table-driven. Refactor the TableGen'erated fixed length disassemblmer to use a table-driven state machine rather than a massive set of nested switch() statements. As a result, the ARM Disassembler (ARMDisassembler.cpp) builds much more quickly and generates a smaller end result. For a Release+Asserts build on a 16GB 3.4GHz i7 iMac w/ SSD: Time to compile at -O2 (averaged w/ hot caches): Previous: 35.5s New: 8.9s TEXT size: Previous: 447,251 New: 297,661 Builds in 25% of the time previously required and generates code 66% of the size. Execution time of the disassembler is only slightly slower (7% disassembling 10 million ARM instructions, 19.6s vs 21.0s). The new implementation has not yet been tuned, however, so the performance should almost certainly be recoverable should it become a concern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
fd652df8b36a9d3e6b09ae2b9f7bcb07e88fdfaa |
|
02-Aug-2012 |
Jiangning Liu <jiangning.liu@arm.com> |
Fix #13035, a bug around Thumb instruction LDRD/STRD with negative #0 offset index issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c1b7ca5ba28ded2d83ae534c8e072c2538d43295 |
|
02-Aug-2012 |
Jiangning Liu <jiangning.liu@arm.com> |
Fix #13138, a bug around ARM instruction DSB encoding and decoding issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c8e41c591741b3da1077f7000274ad040bef8002 |
|
23-Jul-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix a typo (the the => the) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
fae96f17b4b022fccd94a143698112a17d8ddf05 |
|
10-Jul-2012 |
Richard Barton <richard.barton@arm.com> |
Fix instruction description of VMOV (between two ARM core registers and two single-precision resiters) (and do it properly this time! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
270e3625b23174688aa5b6f1e1d0cd42086541de |
|
09-Jul-2012 |
Chad Rosier <mcrosier@apple.com> |
Revert r159938 (and r159945) to appease the buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
83cfff6229c4afe9af9d48d4109df9a503233a7c |
|
09-Jul-2012 |
Richard Barton <richard.barton@arm.com> |
Oops - correct broken disassembly for VMOV git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
2e7e34ba5485320a84ca69c83d242e24433f7acd |
|
09-Jul-2012 |
Richard Barton <richard.barton@arm.com> |
Fix instruction description of VMOV (between two ARM core registers and two single-precision resiters) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c8f2fcc9a381f1e024656568f2face2f600e0328 |
|
06-Jun-2012 |
Richard Barton <richard.barton@arm.com> |
Correct decoder for T1 conditional B encoding git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
dd051a0414d0c807388bdc9584b71729b3158571 |
|
22-May-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
ARMDisassembler.cpp: Fix utf8 char in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
3610a15c3581dee713820f72d8ffe2e2a632b057 |
|
05-May-2012 |
Kevin Enderby <enderby@apple.com> |
Tweak to the fix in r156212, as with the change in removing the shift the SignExtend32<22>(Val<<1) also needs to change to SignExtend32<21>(Val) . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ce734d5ffe53273caa7df762f70803050b0ce929 |
|
05-May-2012 |
Kevin Enderby <enderby@apple.com> |
Fix a bug in the ARM disassembler for wide branch conditional instructions where the symbolic operand's displacement was incorrectly shifted left by 1. rdar://11387046 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
2d524b0765145f1c7888166c985a25452f16b2bc |
|
04-May-2012 |
Kevin Enderby <enderby@apple.com> |
Fix issues with the ARM bl and blx thumb instructions and the J1 and J2 bits for the assembler and disassembler. Which were not being set/read correctly for offsets greater than 22 bits in some cases. Changes to lib/Target/ARM/ARMAsmBackend.cpp from Gideon Myles! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b422d0b65e15435b6aef4a92f5663db9ec6659d4 |
|
03-May-2012 |
Silviu Baranga <silviu.baranga@arm.com> |
Fixed disassembler for vstm/vldm ARM VFP instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
bb32f1d545241ab957f402165cec359d4473c0ca |
|
28-Apr-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM: Tweak tADDrSP definition for consistent operand order. Make the operand order of the instruction match that of the asm syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4d2f077df1b46a126b5595d983f233ec896b757e |
|
27-Apr-2012 |
Richard Barton <richard.barton@arm.com> |
Refactor IT handling not to store the bottom bit of the condition code in the mask operand in the MCInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
f4478f99dd63503bf0f0e763bc6d684e738bfe3d |
|
24-Apr-2012 |
Richard Barton <richard.barton@arm.com> |
Refactor Thumb ITState handling in ARM Disassembler to more efficiently use its vector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
35ee7d28a69173ca0c11fb6b3271518bf4c5bff6 |
|
18-Apr-2012 |
Silviu Baranga <silviu.baranga@arm.com> |
Added support for disassembling unpredictable swp/swpb ARM instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
fa1ebc6abe95b79b7f82030eea53586a8704eb7e |
|
18-Apr-2012 |
Silviu Baranga <silviu.baranga@arm.com> |
Added support for unpredictable mcrr/mcrr2/mrrc/mrrc2 ARM instruction in the disassembler. Since the upredicability conditions are complex, C++ code was added to handle them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c5a2a33938182ccc5a1a94f7e1e2b3fdaff6a8b1 |
|
17-Apr-2012 |
Kevin Enderby <enderby@apple.com> |
Fix ARM disassembly of VLD2 (single 2-element structure to all lanes) instructions with writebacks. And add test a case for all opcodes handed by DecodeVLD2DupInstruction() in ARMDisassembler.cpp . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
2a7d3a93735f97c2a4cabcc08a88d702c28cb0d4 |
|
13-Apr-2012 |
Kevin Enderby <enderby@apple.com> |
Fix a few more places in the ARM disassembler so that branches get symbolic operands added when using the C disassembler API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b318cc16c9e959adb96294b3aa4940e74f68dde3 |
|
12-Apr-2012 |
Kevin Enderby <enderby@apple.com> |
Fixed a case of ARM disassembly getting an assert on a bad encoding of a VST instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
a69da35c127dd7e35ae6216d965670643dc55bb6 |
|
11-Apr-2012 |
Kevin Enderby <enderby@apple.com> |
Fix ARM disassembly of VLD instructions with writebacks. Â And add test a case for all opcodes handed by DecodeVLDInstruction() in ARMDisassembler.cpp . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
75e3b7fb8fdf069b6f9f1e1db9634ca5701cbe96 |
|
03-Apr-2012 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ARMDisassembler: drop bogus dependency on ARMCodeGen And indirectly, a dependency on most of the core LLVM optimization libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c89c744b69cecac576317a98322fd295e36e9886 |
|
27-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove unnecessary llvm:: qualifications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
6fe310e1555dedba2b36dedae9a88eb900ad1804 |
|
22-Mar-2012 |
Silviu Baranga <silviu.baranga@arm.com> |
Added soft fail checks for the disassembler when decoding some corner cases of the STRD, STRH, LDRD, LDRH, LDRSH and LDRSB instructions on ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b7c2ed66642b141a768b3074c465eba9d98665d8 |
|
22-Mar-2012 |
Silviu Baranga <silviu.baranga@arm.com> |
Added soft fail cases for the disassembler when decoding LDRSBT, LDRHT or LDRSHT instruction on ARM git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
f0586f08dfd5bf1889c15849e9c603b3985fce4a |
|
21-Mar-2012 |
Kevin Enderby <enderby@apple.com> |
Fix ARM disassembly of VST1 and VST2 instructions with writeback. And add test case for all opcodes handed by DecodeVSTInstruction() in ARMDisassembler.cpp . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
5c062ad92672f22e61a4b20a9954af3db3b72bd6 |
|
20-Mar-2012 |
Silviu Baranga <silviu.baranga@arm.com> |
The ARM instructions that have an unpredictable behavior when the pc register operand is given now fail with soft fail. Modified the regression tests to reflect this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b78ca423844f19f4a838abb49b4b4fa7ae499707 |
|
11-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Use uint16_t to store registers and opcode in static tables in the target specific backends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ff3164a1893c61dc0b7169dba9705c2d8e80dfec |
|
07-Mar-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. Remove dead code that slipped into previous commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4d0983a4d734280d481bb56472fe44ad0ddc447d |
|
07-Mar-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM more NEON VLD/VST composite physical register refactoring. Register pair, all lanes subscripting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c0fc450f0754508871bc70f21e528bf2f1520da1 |
|
06-Mar-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM refactor more NEON VLD/VST instructions to use composite physregs Register pair VLD1/VLD2 all-lanes instructions. Kill off more of the pseudos as a result. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
158c8a49c23d01297e7913c03c1fdb0760aee3a8 |
|
06-Mar-2012 |
Kevin Enderby <enderby@apple.com> |
Fix a bug in the ARM disassembly of the neon VLD2 all lanes instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c3384c93c0e4c50da4ad093f08997507f9281c75 |
|
05-Mar-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM Refactor VLD/VST spaced pair instructions. Use the new composite physical registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
28f08c93e75d291695ea89b9004145103292e85b |
|
05-Mar-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM refactor away a bunch of VLD/VST pseudo instructions. With the new composite physical registers to represent arbitrary pairs of DPR registers, we don't need the pseudo-registers anymore. Get rid of a bunch of them that use DPR register pairs and just use the real instructions directly instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.cpp
|
0943303d31b1d1f2111725e2fa6906c0a785b96e |
|
27-Feb-2012 |
Kevin Enderby <enderby@apple.com> |
Fix the symbolic operand added for the C disassmbler API for the ARM bl thumb instruction. The PC adjustment is +4 in Thumb mode and +8 in ARM mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.cpp
|
bc2198133a1836598b54b943420748e75d5dea94 |
|
07-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.cpp
|
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 |
|
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
60d99a5278e4a0e7116a05c01cececb07ca1362a |
|
15-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM NEON VTBL/VTBX assembly parsing and encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
bb3a2e4d0defc6854d37384d80858037dbbc5f20 |
|
14-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM NEON refactor VST2 w/ writeback instructions. In addition to improving the representation, this adds support for assembly parsing of these instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
e90ac9bce9aa6de288568df9bf6133c08534ae2f |
|
14-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM NEON VST2 assembly parsing and encoding. Work in progress. Parsing for non-writeback, single spaced register lists works now. The rest have the representations better factored, but still need more to be able to parse properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
a4e3c7fc4ba2d55695b0484480685698132eba20 |
|
09-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for VLD2 with writeback. Refactor the instructions into fixed writeback and register-stride writeback variants to simplify the offset operand (no more optional register operand using reg0). This is a simpler representation and allows the assembly parser to more easily handle these instructions. Add tests for the instruction variants now supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
7b8e12152011ee21b1781113805a68cd3dc3d46b |
|
30-Nov-2011 |
Matt Beaumont-Gay <matthewbg@google.com> |
Remove unused variable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
096334e25ea68ac970942ecb680a82fbb8ad206c |
|
30-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM parsing for VLD1 all lanes, with writeback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4c7edb3ad8bd513c59190f6ebee9bee34af7d247 |
|
29-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for four-register VST1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d5ca201891d238ca2185831524a1e3f2670224df |
|
29-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for three-register VST1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
22925d93e9c5d6159f24853457c858be5f08af04 |
|
15-Nov-2011 |
Owen Anderson <resistor@mac.com> |
Fix a misplaced paren bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b589be9334ee5352dd263c406b99a90d413c0b2f |
|
15-Nov-2011 |
Owen Anderson <resistor@mac.com> |
Fix an ambiguous decoding where we failed to properly decode VMOVv2f32 and VMOVv4f32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
742c4bac07e2800275a69259296fba7c3e3f651b |
|
12-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
Re-apply 144430, this time with the associated isel and disassmbler bits. Original commit msg: 'ARM assembly parsing for VST1 two-register encoding.' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
eea66f63d98771a2772f5173debf954a81f3f782 |
|
11-Nov-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove the unnecessary dependency on libARMCodeGen from libARMDisassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
244006db5c4d48878dc5fdc86976acdaff96cfaa |
|
02-Nov-2011 |
Owen Anderson <resistor@mac.com> |
The rules disallowing single-register reglist operands only apply to the POP alias, not to LDM/STM instructions. Revert r143552. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
e31b42a6f5598691498808673648211916bf4d0f |
|
02-Nov-2011 |
Owen Anderson <resistor@mac.com> |
Register list operands are not allowed to contain only a single register. Alternate encodings are used in that case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
60cb643f7561e5be7a3b5fe705535e96de72cbf5 |
|
01-Nov-2011 |
Owen Anderson <resistor@mac.com> |
Fix disassembly of some VST1 instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4334e032525d6c9038605f3871b945e8cbe6fab7 |
|
31-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM VST1 w/ writeback assembly parsing and encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
fb6ab2b30e822d292c557bda32f7eb0acd1004e2 |
|
31-Oct-2011 |
Owen Anderson <resistor@mac.com> |
More not-crashing NEON disassembly updates for the vld refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
cb9fed665550376b7c65c7e1157a58911193e2e2 |
|
28-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Reapply r143202, with a manual decoding hook for SWP. This change inadvertantly exposed a decoding ambiguity between SWP and CPS that the auto-generated decoder can't handle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
04b12a4cfb74ac65ea86d57bde5999ef6ab09ad4 |
|
28-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Add some NEON stores to the VLD decoding hook that were accidentally omitted previously. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
399cdca4d201f7232126c3a0643669971ede780a |
|
25-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for VLD1 with writeback. Four entry register lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
5921675ff5ea632ab1e6d7aa5d1f263b858bbafa |
|
25-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM assembly parsing and encoding for VLD1 w/ writeback. Three entry register list variation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
10b90a9bbf7dcae1568c03a03f9606f5395f2144 |
|
24-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM refactor am6offset usage for VLD1. Split am6offset into fixed and register offset variants so the instruction encodings are explicit rather than relying an a magic reg0 marker. Needed to being able to parse these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
a7c98f58ea939e1dfe40bba725fbac698f36c0bb |
|
24-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Fix a NEON disassembly case that was broken in the recent refactorings. As more of this code gets refactored, a lot of these manual decoding hooks should get smaller and/or go away entirely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
1a2f9886a2a60dbd41216468a240446bbfed3e76 |
|
22-Oct-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move various generated tables into read-only memory, fixing up const correctness along the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
224180e81b34c99d15e35a4d4de6729357c6d372 |
|
22-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
Assembly parsing for 4-register sequential variant of VLD2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4661d4cac3ba7f480a91d0ccd35fb2d22d9692d3 |
|
22-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
Assembly parsing for 2-register sequential variant of VLD2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b6310316dbaf8716003531d7ed245f77f1a76a11 |
|
21-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
Assembly parsing for 4-register variant of VLD1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
cdcfa280568d5d48ebeba2dcfc87915105e090d1 |
|
21-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
Assembly parsing for 3-register variant of VLD1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
280dfad48940a0a51726308dd3daa3b1b0d18705 |
|
21-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM VLD parsing and encoding. Next step in the ongoing saga of NEON load/store assmebly parsing. Handle VLD1 instructions that take a two-register register list. Adjust the instruction definitions to only have the single encoded register as an operand. The super-register from the pseudo is kept as an implicit def, so passes which come after pseudo-expansion still know that the instruction defines the other subregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
01817c39a9d7ff864d0b5de4941eec93d2f9e3a8 |
|
20-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. Trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c378015d1cc073e5e8027491514f50e2c7413f9e |
|
17-Oct-2011 |
Chad Rosier <mcrosier@apple.com> |
Removed set, but unused variables. Patch by Joe Abbey <jabbey@arxan.com>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
8223e45dff0f368ee40242f9e81f09b40e081756 |
|
14-Oct-2011 |
Richard Trieu <rtrieu@google.com> |
Fix a non-firing assert. Change: assert("bad SymbolicOp.VariantKind"); To: assert(0 && "bad SymbolicOp.VariantKind"); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ecb830e45c216209f4a8b95d687f1ef4e9185bee |
|
14-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix undefined shift. Patch by Ahmed Charles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c18e940c5a1c050701594ee2b356cd40249505a3 |
|
13-Oct-2011 |
Owen Anderson <resistor@mac.com> |
SETEND is not allowed in an IT block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
81b2928d80047cb6c8ae0048185742abae1d9dfa |
|
12-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM addrmode5 represents the 'U' bit of the encoding backwards. The disassembler needs to use the AM5 factory methods instead of just building up the immediate directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c66e7afcf2810a2c1ebf08514eaf45c478e5ff67 |
|
12-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
Thumb2 assembly parsing and encoding for LDC/STC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b0786b33fa9090adee9a30796ead7969f948f4cd |
|
12-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
addrmode2 is gone from these, so no need for the reg0 operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
7011eee9b509f3a0f95a75f68787384f31ea3e01 |
|
07-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Fix the check for nested IT instructions in the disassembler. We need to perform the check before adding the Thumb predicate, which pops on entry off the ITBlock queue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
9e5887b17e634b98f7c1cf0ee4f25c218097d08e |
|
05-Oct-2011 |
Kevin Enderby <enderby@apple.com> |
Adding back support for printing operands symbolically to ARM's new disassembler using llvm's public 'C' disassembler API now including annotations. Hooked this up to Darwin's otool(1) so it can again print things like branch targets for example this: blx _puts instead of this: blx #-36 and includes support for annotations for branches to symbol stubs like: bl 0x40 @ symbol stub for: _puts and annotations for pc relative loads like this: ldr r3, #8 @ literal pool for: Hello, world! Also again can print the expression encoded in the Mach-O relocation entries for things like this: movt r0, :upper16:((_foo-_bar)+1234) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4ebbf7b8a8e80532bd2ddf7209e62689c1698a96 |
|
30-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM fix encoding of VMOV.f32 and VMOV.f64 immediates. Encode the immediate into its 8-bit form as part of isel rather than later, which simplifies things for mapping the encoding bits, allows the removal of the custom disassembler decoding hook, makes the operand printer trivial, and prepares things more cleanly for handling these in the asm parser. rdar://10211428 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
0afa0094afdfe589f407feb76948f273b414b278 |
|
26-Sep-2011 |
Owen Anderson <resistor@mac.com> |
ASR #32 is not allowed on Thumb2 USAT and SSAT instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
31d485ec9a2afcf83c5354061568b4280d61b574 |
|
23-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Reapply r140412 (Thumb2 reg-reg loads cannot target SP or PC), with invalid testcases updated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
df0caeb6eca5c3424b4ccef5f489708392450982 |
|
23-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Revert r140412. This affects more instructions than intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d2560565810d40afea87f2dfbe51e125d0dc80ab |
|
23-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Thumb2 register-shifted-register loads cannot target the PC or the SP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d9346fbb06d64266c2fe46edef7a15cb9af7e7e8 |
|
20-Sep-2011 |
Owen Anderson <resistor@mac.com> |
tMOVSr is not allowed in an IT block either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
9f666b5f2e4a5e94cd667e5be0c5d513dd64ea67 |
|
20-Sep-2011 |
Owen Anderson <resistor@mac.com> |
CPS instructions are UNPREDICTABLE inside IT blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
04c7877894492d6e8aa45567988cd7de100589d8 |
|
20-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Thumb2 TBB and TBH instructions are only allowed at the end of IT blocks, not in the middle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
7f739bee261debdf56bd89ac922b57eca53e91dc |
|
20-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
Thumb2 assembly parsing and encoding for TBB/TBH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ecd1c557904815e568258fc5420de479589b0a93 |
|
19-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Handle STRT (and friends) like LDRT (and friends) for decoding purposes. Port over additional encoding tests to decoding tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
cb775519279cd1471c490eb5bf4e3ce663fcdc7d |
|
17-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Bitfield mask instructions are unpredictable if the encoded LSB is higher than the encoded MSB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
8b22778431cdeb112366ed5dc6283b3a7af19018 |
|
17-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Fix bitfield decoding based on Eli's feedback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
e4f2df945a69e70f8e045baea3a14f3cdc076554 |
|
17-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Thumb2 pre-indexed loads/stores use the restricted GPR set for Rt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
89db0f690c3238544e59ea3bf2b7a0d6bc8a6544 |
|
17-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Fix disassembly of Thumb2 BFI instructions with bit range of [0, 32). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
705b48ff860e7484f0adee88362dbe1936ae936b |
|
16-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Fix disassembly of Thumb2 LDRSH with a #-0 offset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.cpp
|
34626acf7fb042c3a831e2f7dfb653ea79c7adec |
|
14-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Nested IT blocks are UNPREDICTABLE. Mark them as such when disassembling them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
a3157b402695ef9d5f6a03e8e3afc5bddf3a3df7 |
|
12-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Port more encoding tests to decoding tests, and correct an improper Thumb2 pre-indexed load decoding this uncovered. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
921d01ae1ff4e1dad2daeed22f8259a7a520412f |
|
10-Sep-2011 |
Owen Anderson <resistor@mac.com> |
LDM writeback is not allowed if Rn is in the target register list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
08fef885eb39339a47e3be7f0842b1db33683003 |
|
10-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Fix assembly/disassembly of Thumb2 ADR instructions with immediate operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
51f6a7abf27fc92c3d8904c2334feab8b498e8e9 |
|
09-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Thumb unconditional branches are allowed in IT blocks, and therefore should have a predicate operand, unlike conditional branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b6aed508e310e31dcb080e761ca856127cec0773 |
|
09-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
Thumb2 assembly parsing and encoding for LDREX/LDREXB/LDREXD/LDREXH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
441462f9328cc7fb86af74c9568a7f70b7bd1fbc |
|
09-Sep-2011 |
Owen Anderson <resistor@mac.com> |
All conditional branches are disallowed in IT blocks, not just CBZ/CBNZ. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d2fc31b3f75700dc89305cb161f3bca7f1a39bef |
|
09-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Soft fail CBZ/CBNZ in the disassembler if they appear inside an IT block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
a77295db19527503d6b290e4f34f273d0a789365 |
|
09-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
Thumb2 assembly parsing and encoding for LDRD(immediate). Refactor operand handling for STRD as well. Tests for that forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
170580e8f413271f665d78f349237c4bcaf9d8c4 |
|
08-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Remove the "common" set of instructions shared between ARM and Thumb2 modes. This is no longer needed now that Thumb2 has its own copy of the STC/LDC instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
8a83f71301fdf0e2cea8ecdf413f192ac48ddc5c |
|
07-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Create Thumb2 versions of STC/LDC, and reenable the relevant tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
a5d585685493d85d5cb72b831a68ec747ae55a86 |
|
07-Sep-2011 |
James Molloy <james.molloy@arm.com> |
Second of a three-patch series aiming to fix MSR/MRS on Cortex-M. This adds predicate checking to the Disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
6de3c6f1a926f49cca2fd207ab4eeb6c35e0e068 |
|
07-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Port more assembler tests over to disassembler tests, and fix a minor logic error that exposed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.cpp
|
a1c110045a284190955f28b8f308ffb365cc2eda |
|
02-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Merge the ARM disassembler header into the implementation file, since it is not externally exposed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
a6804444e874b27aee5921d4c6049df573c5e249 |
|
02-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Fix 80 columns violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c047dcade506a5acaccb1548cb83a3f85f52d71d |
|
01-Sep-2011 |
James Molloy <james.molloy@arm.com> |
Fix up r137380 based on post-commit review by Jim Grosbach. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b45b11bce1fd79b0973d2df8db295583b5477c62 |
|
01-Sep-2011 |
Owen Anderson <resistor@mac.com> |
The asm parser currently selects the wrong encoding for non-conditional Thumb2 branches. However, this exposed a number of situations where the decoder was too permissive in allowing invalid instructions to decode successful. Specify additional fixed bits to close those gaps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
eaca928a3798e1fa7072457b94eccdd5b53b5d5f |
|
31-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix issues with disassembly of IT instructions involving condition codes other the EQ/NE. Discovered by roundtrip testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
f1eab597b2316c6cfcabfcee98895fedb2071722 |
|
27-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Improve encoding support for BLX with immediat eoperands, and fix a BLX decoding bug this uncovered. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
9f7e8319947c65d9aef2a0f0984557c3b3a20656 |
|
26-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Spelling fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
9ab0f25fc194b4315db1b87d38d4024054120bf6 |
|
26-Aug-2011 |
Owen Anderson <resistor@mac.com> |
invalid-LDR_PRE-arm.txt was already passing, but for the wrong reasons. We were failing to specify enough fixed bits of LDR_PRE/LDRB_PRE, resulting in decoding conflicts. Separate them into immediate vs. register versions, allowing us to specify the necessary fixed bits. This in turn results in the test being decoded properly, and being rejected as UNPREDICTABLE rather than a hard failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
1af7f7291d0689e2d58f900c9b5ecaddec56caa1 |
|
26-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Update for feedback from Jim. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
86ce852a15f0c66601dcaf55644d8c4ec268906f |
|
26-Aug-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
ARMDisassembler: Always return a size, even when disassembling fails. This should fix PR10772. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
96425c846494c1c20a4c931f4783571295ab170c |
|
26-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Support an extension of ARM asm syntax to allow immediate operands to ADR instructions. This is helpful for disassembler testing, and indeed exposed a disassembler bug that is also fixed here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
9bd655dcde1cfa1b97014e2d8e4f9845f7d474bb |
|
26-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix PR10755 by checking for invalid predicate codes from UNPREDICTABLE t2IT instructions when decoding their successors. This is the last disassembly crash detected by exhaustive Thumb2 instruction space. Major thanks to Chandler Carruth for making this kind of exhaustive testing possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
99906830e82cf70dbcbed22237c7bd24f9d9ffdb |
|
25-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Port over additional encoding tests to decoding tests, and fix an operand ordering bug this exposed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
f44082091c5517a3275c57a8b58e36987c8227f0 |
|
25-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Perform more thorough checking of t2IT mask parameters, which fixes all remaining crashers when disassembling the entire 16-bit instruction space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
12a1e3bbcbd4e8f740c8304379001d1e6731561c |
|
24-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Be careful not to walk off the end of the operand info list while updating VFP predicates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.cpp
|
e234d02204e0e546c3555e7e894b8521d22a2121 |
|
24-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Be stricter in enforcing IT instruction predicate values, so that we don't end up trying to print out an illegal predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
82265a2c72b0f2d0daeab4985c9509d8405f51ef |
|
23-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix decoding of Thumb2 prefetch instructions, which account for all the remaining Thumb2 decoding failures found by randomized testing so far. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
6153a036f544beb03dfc4d58edc28cf42712743d |
|
23-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix Thumb2 decoding of CPS instructions to mirror ARM decoding of the same instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
8e1e60b5f8fd9c6233bdb8814ee40887555a0594 |
|
23-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Reject invalid imod values in t2CPS instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
357ec6850be0dff0038ea3a14f16066705284c0b |
|
22-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix decoding of VMOVSRR and VMOVRRS, which account for the overwhelming majority of decoder crashes detected by randomized testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
2cbf2104507c855850b610ed910536058aa0c6ee |
|
22-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix another batch of VLD/VST decoding crashes discovered by randomized testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
f1c8e3e70e222365b84f4cb7e87396ee85820711 |
|
22-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Correct writeback handling of duplicating VLD instructions. Discovered by randomized testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b113ec55e897c85fda606409c1eedec4f89ec53f |
|
22-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix an incorrect shift when decoding SP-relative stores in Thumb1-mode. Add more tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
78affc9ea1978d707b376180ec559b62fbf9ea05 |
|
19-Aug-2011 |
Owen Anderson <resistor@mac.com> |
STC2L_POST and STC2L_POST should be handled the same as STCL_POST/LDC_POST for the purposes of decoding all operands except the predicate. Found by randomized testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
846dd95f87f62e2faa6092f99b521ecd9790121a |
|
19-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix the decoding of RFE instruction. RFEs have the load bit set, while SRSs have it unset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
1dd56f05e1bc3e7f66f2b0de4b5ea3692136a77f |
|
19-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Remember to fill in some operands so we can print _something_ coherent even when decoding the CPS instruction soft-fails. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
14090bf2636edf5e46a2c12a312b1889f5335d7d |
|
19-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Improve handling of failure and unpredictable cases for CPS, STR, and SMLA instructions. Fixes a large class of disassembler crashes found by randomized testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c40578250d391069d2d81ecaab58a83f2667e96e |
|
17-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
70939ee1415722d7f39f13faf9b3644b96007996 |
|
17-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM clean up the imm_sr operand class representation. Represent the operand value as it will be encoded in the instruction. This allows removing the specialized encoder and decoder methods entirely. Add an assembler match class while we're at it to lay groundwork for parsing the thumb shift instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
0aa38ab1fb53c457ce90390aed2659eb085709f0 |
|
17-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Be more careful in the Thumb decoder hooks to avoid walking off the end of the OpInfo array. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.cpp
|
16280308ac6f20d9da06eafcc19e4a6777f49750 |
|
17-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Separate out Thumb1 instructions that need an S bit operand from those that do not, for the purposes of decoding them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ef2865a8eadffd7e346b9bc70c647578010b6afd |
|
16-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Specify a necessary fixed bit for VLD3DUP, and otherwise rearrange the Thumb2 NEON decoding hooks to bring us closer to correctness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c537f3be0c4ff7030afcdcd9f55133ce68eef773 |
|
15-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Enforce the constraint that Rt must be even on LDRD/STRD instructions in ARM mode. Update tests to reflect this fact. Patch by James Molloy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
7a2e1770ead7c2e3b7292ae466a41b560f3d272c |
|
15-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix problems decoding the to/from-lane NEON memory instructions, and add a comprehensive NEON decoding testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
0d09499cf3e2d927cdc53ec79895303ac12808ac |
|
12-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix some remaining issues with decoding ARM-mode memory instructions, and add another batch of tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
79628e92e1f903d50340d4cd3d1ea8c5fff63a87 |
|
12-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix decoding of ARM-mode STRH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
7cdbf086e4676494fc6a5b26c169285ae0bb740b |
|
12-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix decoding of pre-indexed stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
3f3570a38be37ca18c545bd1b4c89604ecaf7e31 |
|
12-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Separate decoding for STREXD and LDREXD to make each work better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
342ebd5f380637d965504dcc350f9d0d79bbe599 |
|
12-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM STRT assembly parsing and encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
adf2b094cb66e6b3ca318cf5b92d0b5232a7d420 |
|
12-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Add another accidentally omitted predicate operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
1fb6673bc2f0a404f4f914bf381c627402ac7c6b |
|
12-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Add missing predicate operand on SMLA and friends. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
cbfc044acd722d14d0687c9cf099f3dca45e26d5 |
|
11-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix decoding support for STREXD and LDREXD. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
508e1d3db536b736063385eb1f885b446a1385ca |
|
11-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Fix decoding for indexed STRB and LDRB. Fixes <rdar://problem/9926161>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
26d2f0ac919f6ae868fe901fd4ad64af6f92da4d |
|
11-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Continue to tighten decoding by performing more operand validation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
10348e70d567fb61f6c762d99e91e215c720ebd1 |
|
11-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM STRBT assembly parsing and encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
71156a6e00d3dc4c531a421a76b3b6ee0ae7d0ab |
|
11-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Tighten decoding of addrmode2 instructions to reject more UNPREDICTABLE cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
2b7b238e843cbbe0682a3cc001fe514f4270a984 |
|
11-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Tighten operand decoding of addrmode2 instruction. The offset register cannot be PC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ae0bc5deaa30f1e20a6189e42ca412ba27ec7153 |
|
11-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Improve error checking in the new ARM disassembler. Patch by James Molloy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
59999264e6cfc7f5d59c9a92c8cd9baaa53434f4 |
|
11-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM LDRT assembly parsing and encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
8533ebad6f6e407215497ca50771f323058f5576 |
|
10-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Add initial support for decoding NEON instructions in Thumb2 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
10cbaab7b774e187c99790292dc1ed64dee2b0f3 |
|
10-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Cleanups based on Nick Lewycky's feedback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
33e57515b173baf572398fafeffcf4644c2a7381 |
|
10-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Push GPRnopc through a large number of instruction definitions to tighten operand decoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
de317f40f7a9962372adea162a12ec35a628efa1 |
|
10-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Tighten operand checking of register-shifted-register operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c36481c4744cdbddec91dc3eca9245acaf2982da |
|
10-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Tighten operand checking on memory barrier instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
35008c2f8dcfe55960fe4efea3a26e526d437ad6 |
|
10-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Tighten operand checking on CPS instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
51c9805c4bcca635bc6a854e4a246ebd4258f512 |
|
10-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Create a new register class for the set of all GPRs except the PC. Use it to tighten our decoding of BFI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
793b811c5057365d847b7f9ae326358e76facfe2 |
|
10-Aug-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
ARM Disassembler: sign extend branch immediates. Not sure about BLXi, but this is what the old disassembler did. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
51157d22348fdbd4b7975877d5b58e53a6d5d3a2 |
|
09-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Silence an false-positive warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
bd9091c18d85d6649763165c4951d7b5ff2e31a9 |
|
09-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Tighten Thumb1 branch predicate decoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
8d7d2e1238fac58c01ccfb719d0cc5680a079561 |
|
09-Aug-2011 |
Owen Anderson <resistor@mac.com> |
Replace the existing ARM disassembler with a new one based on the FixedLenDecoderEmitter. This new disassembler can correctly decode all the testcases that the old one did, though some "expected failure" testcases are XFAIL'd for now because it is not (yet) as strict in operand checking as the old one was. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
7ce057983ea7b8ad42d5cca1bb5d3f6941662269 |
|
04-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM refactoring assembly parsing of memory address operands. Memory operand parsing is a bit haphazzard at the moment, in no small part due to the even more haphazzard representations of memory operands in the .td files. Start cleaning that all up, at least a bit. The addressing modes in the .td files will be being simplified to not be so monolithic, especially with regards to immediate vs. register offsets and post-indexed addressing. addrmode3 is on its way with this patch, for example. This patch is foundational to enable going back to smaller incremental patches for the individual memory referencing instructions themselves. It does just enough to get the basics in place and handle the "make check" regression tests we already have. Follow-up work will be fleshing out the details and adding more robust test cases for the individual instructions, starting with ARM mode and moving from there into Thumb and Thumb2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
4aaf3465f71afa4e156eb15df12095ebde1b0f6f |
|
20-Apr-2011 |
Johnny Chen <johnny.chen@apple.com> |
Fix typo in the comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
bd3327654b5708f1ba92aff3ab25b1bbf5034797 |
|
11-Apr-2011 |
Kevin Enderby <enderby@apple.com> |
Adding support for printing operands symbolically to llvm's public 'C' disassembler API. Hooked this up to the ARM target so such tools as Darwin's otool(1) can now print things like branch targets for example this: blx _puts instead of this: blx #-36 And even print the expression encoded in the Mach-O relocation entried for things like this: movt r0, :upper16:((_foo-_bar)+1234) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
eca915fb5242442756a80bad7f285cb54d7b8ea4 |
|
26-Mar-2011 |
Johnny Chen <johnny.chen@apple.com> |
Fixed the t2PLD and friends disassembly and add two test cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
8cb988686d4d55eace0cb4aac408d790c02a120b |
|
24-Mar-2011 |
Johnny Chen <johnny.chen@apple.com> |
Plug a leak by ThumbDisassembler::getInstruction(), thanks to Benjamin Kramer! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
83ccbff84fd38d8680ae39b3b629aee339478855 |
|
24-Mar-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Plug a leak in the arm disassembler and put the tests back. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
c59c87c3228b471140fb219dc9118ab9321486f2 |
|
23-Mar-2011 |
Johnny Chen <johnny.chen@apple.com> |
For ARM Disassembler, start a newline to dump the opcode and friends for an instruction. Change inspired by llvm-bug 9530 submitted by Jyun-Yan You. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
18b475f95478f130667faa8c74bea4efdf68b1ed |
|
09-Mar-2011 |
Johnny Chen <johnny.chen@apple.com> |
LLVM combines the offset mode of A8.6.199 A1 & A2 into STRBT. The insufficient encoding information of the combined instruction confuses the decoder wrt UQADD16. Add extra logic to recover from that. Fixed an assert reported by Sean Callanan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
971b83b67a9812556cdb97bb58aa96fb37af458d |
|
08-Feb-2011 |
Owen Anderson <resistor@mac.com> |
Revert both r121082 (which broke a bunch of constant pool stuff) and r125074 (which worked around it). This should get us back to the old, correct behavior, though it will make the integrated assembler unhappy for the time being. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
eb6779c5b98383e33542207f062102e79263df16 |
|
07-Dec-2010 |
Owen Anderson <resistor@mac.com> |
Second attempt at converting Thumb2's LDRpci, including updating the gazillion places that need to know about it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
9d63d90de5e57ad96f467b270544443a9284eb2b |
|
01-Dec-2010 |
Owen Anderson <resistor@mac.com> |
Add correct encodings for STRD and LDRD, including fixup support. Additionally, update these to unified syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
80dd3e06129e2b570cbd65cba850571981df693a |
|
30-Nov-2010 |
Owen Anderson <resistor@mac.com> |
Simplify the encoding of reg+/-imm12 values that allow PC-relative encoding. This allows the Thumb2 encoding to share code with the ARM encoding, which gets use fixup support for free. It also allows us to fold away at least one codegen-only pattern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
bc7deb0f758d2544fc4c36433668340cbf4835cf |
|
03-Nov-2010 |
Evan Cheng <evan.cheng@apple.com> |
Add support to match @llvm.prefetch to pld / pldw / pli. rdar://8601536. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
55561d188246e128e6c452d2e254cfd9fd359f2e |
|
14-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Detabify and clean up 80 column violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
38e1390c29c024d5bbff3063c2a86bceb7bd3e60 |
|
28-Sep-2010 |
Oscar Fuentes <ofv@wanadoo.es> |
Add ARM Disassembler to the CMake build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
186acea74646c9f3909b1968920bed8c7ab6148b |
|
08-Sep-2010 |
NAKAMURA Takumi <geek4civic@gmail.com> |
ARM/Disassembler: Fix definitions incompatible(unsigned and uint32_t) to Cygwin-1.5, following up to r113255. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
270159fcc21e06c67aa571d10d2b22d41d9a751a |
|
12-Aug-2010 |
Johnny Chen <johnny.chen@apple.com> |
The autogened decoder was confusing the ARM STRBT for ARM USAT, because the .td entry for ARM STRBT is actually a super-instruction for A8.6.199 STRBT A1 & A2. Recover by looking for ARM:USAT encoding pattern before delegating to the auto- gened decoder. Added a "usat" test case to arm-tests.txt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
eaf1c98a7c38444d41d1c6dc2074736eec7d452f |
|
12-Aug-2010 |
Bob Wilson <bob.wilson@apple.com> |
Move the ARM SSAT and USAT optional shift amount operand out of the instruction opcode. This also fixes part of PR7792. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
ef37e3abb7fdcdb773163e4e48743b2f7b2141b3 |
|
20-Apr-2010 |
Johnny Chen <johnny.chen@apple.com> |
For t2LDRT, t2LDRBT, t2LDRHT, t2LDRSBT, and t2LDRSHT, if Rn(Inst{19-16})=='1111', transform the Opcode to the corresponding t2LDR*pci counterpart. Ref: A8.6.86 LDRT, A8.6.65 LDRBT, A8.6.77 LDRHT, A8.6.81 LDRSBT, A8.6.85 LDRSHT git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
6bcf52f00a4fc352e90ff11681a0e69f9757eb37 |
|
20-Apr-2010 |
Johnny Chen <johnny.chen@apple.com> |
More IT instruction error-handling improvements from fuzzing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d0f3c46d166b5d0ab4573987011cab7bd1ec28e0 |
|
20-Apr-2010 |
Johnny Chen <johnny.chen@apple.com> |
Better error handling of invalid IT mask '0000', instead of just asserting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
af5b0e851e42d7de1247c4084ba75a76c4497ca6 |
|
17-Apr-2010 |
Johnny Chen <johnny.chen@apple.com> |
Fixed logic error. Should check Builder for validity before calling SetSession on it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d907d2566af966333cf170fae27b3e7847a855a4 |
|
14-Apr-2010 |
Johnny Chen <johnny.chen@apple.com> |
Fixed another assert exposed by fuzzing. The utility function getRegisterEnum() was asserting because the (RegClass, RegNum) combination doesn't make sense from an encoding point of view. Since getRegisterEnum() is used all over the place, to change the code to check for encoding error after each call would not only bloat the code, but also make it less readable. An Err flag is added to the ARMBasicMCBuilder where a client can set a non-zero value to indicate some kind of error condition while building up the MCInst. ARMBasicMCBuilder::BuildIt() checks this flag and returns false if a non-zero value is detected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.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/ARM/Disassembler/ARMDisassembler.cpp
|
7fb053dd45f7754b0a359a9de1a7445aefcca318 |
|
05-Apr-2010 |
Johnny Chen <johnny.chen@apple.com> |
Get rid of traling whitespaces. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
9d563b676cc9f3bcd9a9806ea5e9a791f35e3d70 |
|
05-Apr-2010 |
Johnny Chen <johnny.chen@apple.com> |
The disassembler impl. of MCDisassembler::getInstruction() was using the pattern uint32_t insn; MemoryObject.readBytes(Address, 4, (uint8_t*)&insn, NULL) to read 4 bytes of memory contents into a 32-bit uint variable. This leaves the interpretation of byte order up to the host machine and causes PPC test cases of arm-tests, neon-tests, and thumb-tests to fail. Fixed to use a byte array for reading the memory contents and shift the bytes into place for the 32-bit uint variable in the ARM case and 16-bit halfword in the Thumb case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
b68a3ee82a8a34f7bae1d68d76f574e76a5535ef |
|
03-Apr-2010 |
Johnny Chen <johnny.chen@apple.com> |
Second try of initial ARM/Thumb disassembler check-in. It consists of a tablgen backend (ARMDecoderEmitter) which emits the decoder functions for ARM and Thumb, and the disassembler core which invokes the decoder function and builds up the MCInst based on the decoded Opcode. Reviewed by Chris Latter and Bob Wilson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
49d9dc4dd205b615beb7af160ef974eaabe4d1cf |
|
16-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
--- Reverse-merging r98637 into '.': U test/CodeGen/ARM/tls2.ll U test/CodeGen/ARM/arm-negative-stride.ll U test/CodeGen/ARM/2009-10-30.ll U test/CodeGen/ARM/globals.ll U test/CodeGen/ARM/str_pre-2.ll U test/CodeGen/ARM/ldrd.ll U test/CodeGen/ARM/2009-10-27-double-align.ll U test/CodeGen/Thumb2/thumb2-strb.ll U test/CodeGen/Thumb2/ldr-str-imm12.ll U test/CodeGen/Thumb2/thumb2-strh.ll U test/CodeGen/Thumb2/thumb2-ldr.ll U test/CodeGen/Thumb2/thumb2-str_pre.ll U test/CodeGen/Thumb2/thumb2-str.ll U test/CodeGen/Thumb2/thumb2-ldrh.ll U utils/TableGen/TableGen.cpp U utils/TableGen/DisassemblerEmitter.cpp D utils/TableGen/RISCDisassemblerEmitter.h D utils/TableGen/RISCDisassemblerEmitter.cpp U Makefile.rules U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/Makefile U lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMInstPrinter.h D lib/Target/ARM/Disassembler U lib/Target/ARM/ARMInstrFormats.td U lib/Target/ARM/ARMAddressingModes.h U lib/Target/ARM/Thumb2ITBlockPass.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|
d30a98e43ae18e1fc70a7dc748edf669d809c685 |
|
16-Mar-2010 |
Johnny Chen <johnny.chen@apple.com> |
Initial ARM/Thumb disassembler check-in. It consists of a tablgen backend (RISCDisassemblerEmitter) which emits the decoder functions for ARM and Thumb, and the disassembler core which invokes the decoder function and builds up the MCInst based on the decoded Opcode. Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm instructions to help disassembly. We also changed the output of the addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>. See, for example, A8.6.57/58/60. And modified test cases to not expect '+' in +reg or #+num. For example, ; CHECK: ldr.w r9, [r7, #28] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
|