| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 135785
|
| |
|
|
| |
llvm-svn: 135782
|
| |
|
|
|
|
|
| |
These instruction definitions are for the assembler, too, not just the
disassembler.
llvm-svn: 135781
|
| |
|
|
| |
llvm-svn: 135779
|
| |
|
|
| |
llvm-svn: 135778
|
| |
|
|
| |
llvm-svn: 135777
|
| |
|
|
|
|
|
| |
Add parsing and diagnostics for malformed inputs. Tests for diagnostics and
for correct encodings.
llvm-svn: 135776
|
| |
|
|
| |
llvm-svn: 135771
|
| |
|
|
|
|
| |
necessitates a lot of changes to related bits.
llvm-svn: 135722
|
| |
|
|
| |
llvm-svn: 135719
|
| |
|
|
|
|
|
| |
Add two-operand instruction aliases. Add parsing and encoding tests for
variants of the instruction.
llvm-svn: 135713
|
| |
|
|
|
|
|
| |
Add two-operand instruction aliases. Add parsing and encoding tests for
variants of the instruction.
llvm-svn: 135712
|
| |
|
|
| |
llvm-svn: 135706
|
| |
|
|
|
|
|
|
| |
Aliases for LDM/STM. The single-register versions should encode to LDR/STR
with writeback, but we don't (yet) get that correct. Neither does Darwin's
system assembler, though, so that's not a deal-breaker of a limitation.
llvm-svn: 135702
|
| |
|
|
|
|
| |
allowing us to distinguish the encodings that use shifted registers from those that use shifted immediates. This is necessary to allow the fixed-length decoder to distinguish things like BICS vs LDRH.
llvm-svn: 135693
|
| |
|
|
| |
llvm-svn: 135682
|
| |
|
|
|
|
| |
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673
|
| |
|
|
|
|
| |
ARM MC code from target.
llvm-svn: 135636
|
| |
|
|
|
|
|
|
|
|
| |
Move the shift operator and special value (32 encoded as 0 for PKHTB) handling
into the instruction printer. This cleans up a bit of the disassembler
special casing for these instructions, more easily handles not printing the
operand at all for "lsl #0" and prepares for correct asm parsing of these
operands.
llvm-svn: 135626
|
| |
|
|
|
|
|
| |
Move common definitions for ARM and Thumb2 into ARMInstrFormats.td and rename
them to be a bit more descriptive that they're for the PKH instructions.
llvm-svn: 135617
|
| |
|
|
|
|
|
|
|
| |
The shift type is implied by the instruction (PKHBT vs. PKHTB) and so shouldn't
be also encoded as part of the shift value immediate. Otherwise we're able to
represent invalid instructions, plus it needlessly complicates the
representation. Preparatory work for asm parsing of these instructions.
llvm-svn: 135616
|
| |
|
|
|
|
|
| |
Correctly handle 's' bit and predication suffices. Add parsing and encoding
tests.
llvm-svn: 135596
|
| |
|
|
|
|
|
|
| |
- Introduce JITDefault code model. This tells targets to set different default
code model for JIT. This eliminates the ugly hack in TargetMachine where
code model is changed after construction.
llvm-svn: 135580
|
| |
|
|
|
|
|
|
| |
TargetLoweringObjectFileImpl down to MCObjectFileInfo.
TargetAsmInfo is done to one last method. It's *almost* gone!
llvm-svn: 135569
|
| |
|
|
|
|
|
|
| |
The system register spec should be case insensitive. The preferred form for
output with mask values of 4, 8, and 12 references APSR rather than CPSR.
Update and tidy up tests accordingly.
llvm-svn: 135532
|
| |
|
|
|
|
|
| |
Teach the parser to recognize the APSR and SPSR system register names. Add
and update tests accordingly.
llvm-svn: 135527
|
| |
|
|
|
|
| |
decoders for ARM.
llvm-svn: 135524
|
| |
|
|
|
|
| |
Add range checking to the immediate operands. Update tests accordingly.
llvm-svn: 135521
|
| |
|
|
|
|
|
|
| |
Correct the handling of the 's' suffix when parsing ARM mode. It's only a
truly separate opcode in Thumb. Add test cases to make sure we handle
the s and condition suffices correctly, including diagnostics.
llvm-svn: 135513
|
| |
|
|
| |
llvm-svn: 135507
|
| |
|
|
|
|
|
| |
Make sure we only clobber the cc_out operand if it is indeed a default
non-setting operand.
llvm-svn: 135506
|
| |
|
|
|
|
|
|
| |
Add range checking for the immediate operand and handle the "mov" mnemonic
choosing between encodings based on the value of the immediate. Add tests
for fixups, encoding choice and values, and diagnostic for out of range values.
llvm-svn: 135500
|
| |
|
|
|
|
| |
cc_out and pred operands are added during parsing via custom C++ now.
llvm-svn: 135497
|
| |
|
|
| |
llvm-svn: 135489
|
| |
|
|
|
|
|
| |
(including compilation, assembly). Move relocation model Reloc::Model from
TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine.
llvm-svn: 135468
|
| |
|
|
|
|
| |
multiple instructions with the same encoding. This resolves another conflict when bringing up the new-style disassembler.
llvm-svn: 135442
|
| |
|
|
|
|
| |
better location welcome).
llvm-svn: 135438
|
| |
|
|
|
|
| |
decoding conflicts in the new-style disassembler.
llvm-svn: 135434
|
| |
|
|
|
|
|
|
|
| |
to MCRegisterInfo. Also initialize the mapping at construction time.
This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step
towards fixing the layering violation.
llvm-svn: 135424
|
| |
|
|
|
|
| |
Original Log: Get rid of the separate opcodes for the Darwin versions of tBL, tBLXi, and tBLXr, using pseudo-instructions to lower to the single final opcode. Update the ARM disassembler for this change.
llvm-svn: 135414
|
| |
|
|
|
|
|
|
| |
previously explicit non-default constructors were used.
Mostly mechanical with some manual reformatting.
llvm-svn: 135390
|
| |
|
|
| |
llvm-svn: 135375
|
| |
|
|
| |
llvm-svn: 135343
|
| |
|
|
|
|
| |
tBLXr, using pseudo-instructions to lower to the single final opcode. Update the ARM disassembler for this change.
llvm-svn: 135319
|
| |
|
|
|
|
| |
to simplify the path towards an auto-generated disassembler.
llvm-svn: 135290
|
| |
|
|
|
|
| |
the type of VEXT. This can be achieved with a Pat definition, and is much more disassembler friendly.
llvm-svn: 135283
|
| |
|
|
|
|
| |
MSVC decorates (and distinguishes) "const" in mangler. It brought linkage error between "extern const" declarations and definitions.
llvm-svn: 135269
|
| |
|
|
|
|
|
| |
solution but it is a small step towards removing the horror that is
TargetAsmInfo.
llvm-svn: 135237
|
| |
|
|
|
|
|
|
|
|
|
|
| |
backend. Moved some MCAsmInfo files down into the MCTargetDesc
sublibraries, removed some (i suspect long) dead files from other parts
of the CMake build, etc. Also copied the include directory hack from the
Makefile.
Finally, updated the lib deps. I spot checked this, and think its
correct, but review appreciated there.
llvm-svn: 135234
|
| |
|
|
|
|
| |
MCTargetDesc to prepare for next round of changes.
llvm-svn: 135219
|