| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
And indirectly, a dependency on most of the core LLVM optimization
libraries.
llvm-svn: 153957
|
| |
|
|
| |
llvm-svn: 153500
|
| |
|
|
|
|
| |
of the STRD, STRH, LDRD, LDRH, LDRSH and LDRSB instructions on ARM.
llvm-svn: 153252
|
| |
|
|
|
|
| |
LDRSHT instruction on ARM
llvm-svn: 153251
|
| |
|
|
|
|
| |
case for all opcodes handed by DecodeVSTInstruction() in ARMDisassembler.cpp .
llvm-svn: 153218
|
| |
|
|
|
|
| |
register operand is given now fail with soft fail. Modified the regression tests to reflect this.
llvm-svn: 153089
|
| |
|
|
|
|
| |
specific backends.
llvm-svn: 152537
|
| |
|
|
| |
llvm-svn: 152184
|
| |
|
|
|
|
| |
Register pair, all lanes subscripting.
llvm-svn: 152157
|
| |
|
|
|
|
|
| |
Register pair VLD1/VLD2 all-lanes instructions. Kill off more of the
pseudos as a result.
llvm-svn: 152150
|
| |
|
|
| |
llvm-svn: 152127
|
| |
|
|
|
|
| |
Use the new composite physical registers.
llvm-svn: 152063
|
| |
|
|
|
|
|
|
|
| |
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.
llvm-svn: 152045
|
| |
|
|
| |
llvm-svn: 151687
|
| |
|
|
|
|
| |
thumb instruction. The PC adjustment is +4 in Thumb mode and +8 in ARM mode.
llvm-svn: 151530
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
llvm-svn: 151267
|
| |
|
|
|
|
| |
MSP430, PPC, PTX, Sparc, X86, XCore.
llvm-svn: 150878
|
| |
|
|
| |
llvm-svn: 150304
|
| |
|
|
| |
llvm-svn: 149961
|
| |
|
|
|
|
|
| |
This CL delays reading of function bodies from initial parse until
materialization, allowing overlap of compilation with bitcode download.
llvm-svn: 149918
|
| |
|
|
| |
llvm-svn: 148578
|
| |
|
|
| |
llvm-svn: 146691
|
| |
|
|
|
|
|
| |
In addition to improving the representation, this adds support for assembly
parsing of these instructions.
llvm-svn: 146588
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 146579
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 146278
|
| |
|
|
| |
llvm-svn: 145517
|
| |
|
|
| |
llvm-svn: 145510
|
| |
|
|
| |
llvm-svn: 145450
|
| |
|
|
| |
llvm-svn: 145442
|
| |
|
|
| |
llvm-svn: 144692
|
| |
|
|
|
|
| |
VMOVv4f32.
llvm-svn: 144683
|
| |
|
|
|
|
| |
Original commit msg: 'ARM assembly parsing for VST1 two-register encoding.'
llvm-svn: 144437
|
| |
|
|
| |
llvm-svn: 144384
|
| |
|
|
|
|
| |
alias, not to LDM/STM instructions. Revert r143552.
llvm-svn: 143553
|
| |
|
|
|
|
| |
Alternate encodings are used in that case.
llvm-svn: 143552
|
| |
|
|
| |
llvm-svn: 143507
|
| |
|
|
| |
llvm-svn: 143369
|
| |
|
|
| |
llvm-svn: 143351
|
| |
|
|
|
|
| |
inadvertantly exposed a decoding ambiguity between SWP and CPS that the auto-generated decoder can't handle.
llvm-svn: 143208
|
| |
|
|
|
|
| |
previously.
llvm-svn: 143162
|
| |
|
|
|
|
| |
Four entry register lists.
llvm-svn: 142882
|
| |
|
|
|
|
| |
Three entry register list variation.
llvm-svn: 142876
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 142853
|
| |
|
|
|
|
| |
more of this code gets refactored, a lot of these manual decoding hooks should get smaller and/or go away entirely.
llvm-svn: 142817
|
| |
|
|
|
|
| |
correctness along the way.
llvm-svn: 142726
|
| |
|
|
| |
llvm-svn: 142704
|
| |
|
|
| |
llvm-svn: 142691
|
| |
|
|
| |
llvm-svn: 142682
|
| |
|
|
| |
llvm-svn: 142675
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 142670
|