summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMCodeEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix MOVrx, MOVsrl_flag, and MOVsra_flag encodings.Evan Cheng2008-11-141-1/+49
| | | | llvm-svn: 59314
* Handle the rest of pseudo instructions.Evan Cheng2008-11-131-1/+18
| | | | llvm-svn: 59275
* Don't forget to emit stubs for function GV's emitted in CONSTPOOL_ENTRY's.Evan Cheng2008-11-131-3/+10
| | | | llvm-svn: 59258
* Missed a break statement.Evan Cheng2008-11-131-0/+1
| | | | llvm-svn: 59231
* Fix pre- and post-indexed load / store encoding bugs.Evan Cheng2008-11-131-7/+31
| | | | llvm-svn: 59230
* Address mode immediate offset has already been divided by 4.Evan Cheng2008-11-121-2/+1
| | | | llvm-svn: 59117
* Fix a VFP binary arithmetic instruction encoding bug.Evan Cheng2008-11-121-1/+1
| | | | llvm-svn: 59116
* Fix address mode 3 immediate offset mode encoding.Evan Cheng2008-11-121-5/+5
| | | | llvm-svn: 59109
* Consolidate formats; fix FCMPED etc. encodings.Evan Cheng2008-11-121-81/+44
| | | | llvm-svn: 59107
* Fix VFP conversion instruction encodings.Evan Cheng2008-11-121-51/+75
| | | | llvm-svn: 59104
* Fix encoding of single-precision VFP registers.Evan Cheng2008-11-121-39/+95
| | | | llvm-svn: 59102
* VFP fld / fst immediate field is multiplied by 4.Evan Cheng2008-11-121-3/+7
| | | | llvm-svn: 59100
* Fix FMDRR encoding.Evan Cheng2008-11-111-7/+22
| | | | llvm-svn: 59088
* Handle floating point constpool_entry's.Evan Cheng2008-11-111-4/+25
| | | | llvm-svn: 59087
* Encode VFP load / store instructions.Evan Cheng2008-11-111-13/+119
| | | | llvm-svn: 59084
* Encode VFP conversion instructions.Evan Cheng2008-11-111-2/+45
| | | | llvm-svn: 59074
* Encode VFP arithmetic instructions.Evan Cheng2008-11-111-0/+45
| | | | llvm-svn: 59016
* Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used.Evan Cheng2008-11-101-1/+1
| | | | llvm-svn: 58949
* Tell ARMJITInfo if codegen relocation is PIC. It changes how function stubs ↵Evan Cheng2008-11-081-1/+1
| | | | | | are generated. llvm-svn: 58896
* Fix relocation for calls to external symbols.Evan Cheng2008-11-081-1/+1
| | | | llvm-svn: 58893
* Skip over two-address use operands.Evan Cheng2008-11-081-0/+12
| | | | llvm-svn: 58883
* Handle ARM machine constantpool entry with non-lazy ptr.Evan Cheng2008-11-081-2/+7
| | | | llvm-svn: 58882
* More code clean up.Evan Cheng2008-11-071-6/+6
| | | | llvm-svn: 58872
* Get PIC jump table working.Evan Cheng2008-11-071-42/+47
| | | | llvm-svn: 58869
* Jump table JIT support. Work in progress.Evan Cheng2008-11-071-23/+102
| | | | llvm-svn: 58836
* Encode misc arithmetic instructions.Evan Cheng2008-11-071-0/+43
| | | | llvm-svn: 58828
* Encode extend instructions; more clean up.Evan Cheng2008-11-061-24/+64
| | | | llvm-svn: 58818
* - Improve naming consistency: Branch -> BrFrm, BranchMisc -> BrMiscFrm.Evan Cheng2008-11-061-11/+13
| | | | | | | - Consolidate instruction formats. - Other clean up. llvm-svn: 58808
* Remove opcode from instruction TS flags; add MOVCC support; fix addrmode3 ↵Evan Cheng2008-11-061-10/+8
| | | | | | encoding bug. llvm-svn: 58800
* Fix so_imm encoding bug; add support for MOVi2pieces.Evan Cheng2008-11-061-12/+52
| | | | llvm-svn: 58790
* Fix encoding of multiple instructions with 3 src operands; also handle ↵Evan Cheng2008-11-061-4/+9
| | | | | | smmul, smmla, and smmls. llvm-svn: 58789
* Encode pic load / store instructions; fix some encoding bugs.Evan Cheng2008-11-051-50/+103
| | | | llvm-svn: 58780
* Restructure ARM code emitter to use instruction formats instead of ↵Evan Cheng2008-11-051-124/+136
| | | | | | addressing modes to determine how to encode instructions. llvm-svn: 58764
* Debug output tweak.Evan Cheng2008-11-041-2/+2
| | | | llvm-svn: 58708
* Handle ARM machine constantpool entries.Evan Cheng2008-11-041-4/+12
| | | | llvm-svn: 58671
* Add binary encoding support for multiply instructions. Some blanks left to ↵Jim Grosbach2008-11-031-5/+37
| | | | | | fill in, but the basics are there. llvm-svn: 58626
* Use better data structure for ConstPoolId2AddrMap.Evan Cheng2008-10-311-5/+7
| | | | llvm-svn: 58532
* Actually make debug output understandable.Evan Cheng2008-10-311-4/+4
| | | | llvm-svn: 58529
* Encode PICADD; some code clean up.Evan Cheng2008-10-311-76/+101
| | | | llvm-svn: 58526
* I think we got non-machine specific constpool entries covered.Evan Cheng2008-10-301-1/+2
| | | | llvm-svn: 58474
* Correct way to handle CONSTPOOL_ENTRY instructions.Evan Cheng2008-10-291-24/+44
| | | | llvm-svn: 58409
* Support for constant islands in the ARM JIT.Jim Grosbach2008-10-281-1/+25
| | | | | | | | | | | | | | | | Since the ARM constant pool handling supercedes the standard LLVM constant pool entirely, the JIT emitter does not allocate space for the constants, nor initialize the memory. The constant pool is considered part of the instruction stream. Likewise, when resolving relocations into the constant pool, a hook into the target back end is used to resolve from the constant ID# to the address where the constant is stored. For now, the support in the ARM emitter is limited to 32-bit integer. Future patches will expand this to the full range of constants necessary. llvm-svn: 58338
* Encode the conditional execution predicate when JITing.Jim Grosbach2008-10-071-10/+10
| | | | llvm-svn: 57258
* Clarify naming and correct conditional so that CMP and CMN instructions get ↵Jim Grosbach2008-10-071-8/+5
| | | | | | the Rn operand encoded properly llvm-svn: 57252
* Indexing off by one resulted in errant encoding of source register forJim Grosbach2008-10-031-1/+1
| | | | | | reg->reg moves. llvm-svn: 57011
* NeedStub/DoesntNeedStub logic was reversed, leading to not using a stubJim Grosbach2008-10-031-4/+4
| | | | | | for global relocations that do need them (libc calls, for example). llvm-svn: 57010
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-10/+10
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* Fix typo s/ther/there/Jim Grosbach2008-10-011-1/+1
| | | | llvm-svn: 56924
* Duh. Default to ARMCC::AL (always).Evan Cheng2008-09-181-23/+63
| | | | llvm-svn: 56301
* Fix addrmode1 instruction encodings; fix bx_ret encoding.Evan Cheng2008-09-171-2/+2
| | | | llvm-svn: 56277
OpenPOWER on IntegriCloud