summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
Commit message (Collapse)AuthorAgeFilesLines
...
* fixing style nit: move class static to global staticJason W Kim2010-12-011-42/+41
| | | | llvm-svn: 120619
* Add a post encoder method to the VFP instructions to convert them to the Thumb2Bill Wendling2010-12-013-4/+22
| | | | | | encoding if we're in that mode. llvm-svn: 120608
* Use the correct fixup type for ARM VLDR*Jim Grosbach2010-12-011-2/+2
| | | | llvm-svn: 120604
* Refactor LEApcrelJT as a pseudo-instructionlowered to a cannonical ADRJim Grosbach2010-12-014-16/+72
| | | | | | | instruction at MC lowering. Add binary encoding information for the ADR, including fixup data for the label operand. llvm-svn: 120594
* Add correct encodings for STRD and LDRD, including fixup support. ↵Owen Anderson2010-12-017-32/+74
| | | | | | Additionally, update these to unified syntax. llvm-svn: 120589
* kill trailing spaceJason W Kim2010-12-011-1/+1
| | | | llvm-svn: 120586
* 10 bits, not 12.Jim Grosbach2010-12-013-6/+6
| | | | llvm-svn: 120584
* Elaborate on FIXME.Jim Grosbach2010-12-011-1/+4
| | | | llvm-svn: 120552
* Move the ARMAsmPrinter class defintiion into a header file.Jim Grosbach2010-12-014-100/+127
| | | | llvm-svn: 120551
* Remove "comparison of integers of different signs" warning by making theBill Wendling2010-12-011-1/+1
| | | | | | variable unsigned. llvm-svn: 120541
* General cleanups of comments.Bill Wendling2010-12-011-11/+7
| | | | llvm-svn: 120536
* ARM/MC/ELF relocation "hello world" for movw/movt.Jason W Kim2010-12-011-44/+75
| | | | | | | | | | | Lifted adjustFixupValue() from Darwin for sharing w ELF. Test added TODO: refactor ELFObjectWriter::RecordRelocation more. Possibly share more code with Darwin? Lots more relocations... llvm-svn: 120534
* Formatting. It's all the rage!Bill Wendling2010-12-011-35/+37
| | | | llvm-svn: 120533
* More refactoring. This time the T1pI pattern.Bill Wendling2010-12-011-131/+96
| | | | llvm-svn: 120532
* Refactor load/store handling again. Simplify and make some room forEric Christopher2010-12-011-103/+60
| | | | | | reg+reg handling. llvm-svn: 120526
* Initialize an ARMConstantPoolValue field.Jan Wen Voung2010-12-011-1/+1
| | | | llvm-svn: 120525
* s/T1pIEncode/T1pILdStEncode/gBill Wendling2010-12-012-62/+62
| | | | | | s/T1pIEncodeImm/T1pILdStEncodeImm/g llvm-svn: 120524
* Renaming variables to coincide with documentation. No functionality change.Bill Wendling2010-12-012-21/+21
| | | | llvm-svn: 120522
* Refactor T1sI and T1sIt encodings into helper classes.Bill Wendling2010-12-011-93/+78
| | | | llvm-svn: 120518
* Refactor the T1sIt encodings into a parent class to get rid of all of the "let"Bill Wendling2010-12-011-131/+85
| | | | | | statements. llvm-svn: 120512
* Use by-name rather than by-order matching for NEON operands.Owen Anderson2010-12-011-318/+318
| | | | llvm-svn: 120507
* Enable sibling call optimization of libcalls which are expanded duringEvan Cheng2010-11-303-29/+69
| | | | | | | | | | | legalization time. Since at legalization time there is no mapping from SDNode back to the corresponding LLVM instruction and the return SDNode is target specific, this requires a target hook to check for eligibility. Only x86 and ARM support this form of sibcall optimization right now. rdar://8707777 llvm-svn: 120501
* Rename operands to match ARM documentation. No functionality change.Bill Wendling2010-11-302-101/+105
| | | | llvm-svn: 120500
* Fix typo.Jim Grosbach2010-11-301-1/+1
| | | | llvm-svn: 120499
* Trailing whitespace.Jim Grosbach2010-11-301-3/+3
| | | | llvm-svn: 120497
* Thanks to JimG for catching this!Jason W Kim2010-11-301-0/+2
| | | | llvm-svn: 120494
* Inline classes that were used in only one place.Bill Wendling2010-11-301-5/+2
| | | | llvm-svn: 120488
* * Add support for encoding t_addrmode_s2 and t_addrmode_s1. They are the same asBill Wendling2010-11-305-90/+151
| | | | | | | | | | t_addrmode_s4, but with a different scaling factor. * Encode the Thumb1 load and store instructions. This involved a bit of refactoring (hi, Chris! :-). Some of the patterns became dead afterwards and were removed. llvm-svn: 120482
* Simplify the encoding of reg+/-imm12 values that allow PC-relative encoding. ↵Owen Anderson2010-11-304-88/+16
| | | | | | | | | 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. llvm-svn: 120481
* Fix handling of ARM negative pc-relative fixups for loads and stores.Jim Grosbach2010-11-302-9/+36
| | | | llvm-svn: 120480
* Provide Thumb2 encodings for a few miscellaneous instructions.Owen Anderson2010-11-301-8/+22
| | | | llvm-svn: 120455
* Add FIXMEJim Grosbach2010-11-301-0/+1
| | | | llvm-svn: 120451
* Add encoding support for Thumb2 PLD and PLI instructions.Owen Anderson2010-11-303-1/+43
| | | | llvm-svn: 120449
* Noticed this on inspection, fix and update some comments.Eric Christopher2010-11-301-3/+4
| | | | llvm-svn: 120447
* Pseudo-ize ARM MOVPCRXJim Grosbach2010-11-302-8/+19
| | | | llvm-svn: 120442
* Provide encodings for a few more load/store variants.Owen Anderson2010-11-301-4/+16
| | | | llvm-svn: 120439
* Pseudo-ize BX_CALL and friends. Remove dead instruction format classes.Jim Grosbach2010-11-303-46/+66
| | | | | | rdar://8685712 llvm-svn: 120438
* Add parsing for the Thumb t_addrmode_s4 addressing mode. This can almostBill Wendling2010-11-304-14/+89
| | | | | | | | | | certainly be made more generic. But it does allow us to parse something like: ldr r3, [r2, r4] correctly in Thumb mode. llvm-svn: 120408
* Minor cleanups. No functional change.Bill Wendling2010-11-301-24/+23
| | | | llvm-svn: 120372
* s/ARM::BRIND/ARM::BX/g to coincide with r120366.Bill Wendling2010-11-303-5/+5
| | | | llvm-svn: 120371
* Add correct encoding for "bl __aeabi_read_tp". However, the asm matcher isn'tBill Wendling2010-11-301-3/+5
| | | | | | able to match this yet. llvm-svn: 120369
* Rename BX/BRIND/etc patterns to clarify which is actually the BX instructionJim Grosbach2010-11-302-9/+9
| | | | | | and which are pseudos. llvm-svn: 120366
* Add some encoding for the adr instruction. Labels still need to be finished.Bill Wendling2010-11-301-6/+16
| | | | llvm-svn: 120365
* Correct Thumb2 encodings for a much wider range of loads and stores.Owen Anderson2010-11-304-48/+96
| | | | llvm-svn: 120364
* Make a few more ARM pseudo instructions actually use the PseudoInst base class.Jim Grosbach2010-11-301-14/+13
| | | | llvm-svn: 120362
* Predicate encoding should be withing {}s. And general cleanup.Bill Wendling2010-11-302-8/+4
| | | | llvm-svn: 120361
* Predicate encoding should be withing {}s.Bill Wendling2010-11-301-2/+2
| | | | llvm-svn: 120360
* Fix the encoding of VLD4-dup alignment.Bob Wilson2010-11-304-37/+67
| | | | | | | | The only reasonable way I could find to do this is to provide an alternate version of the addrmode6 operand with a different encoding function. Use it for all the VLD-dup instructions for the sake of consistency. llvm-svn: 120358
* Rename VLDnDUP instructions with double-spaced registersBob Wilson2010-11-301-12/+12
| | | | | | in an attempt to make things a little more consistent. llvm-svn: 120357
* Add support for NEON VLD3-dup instructions.Bob Wilson2010-11-306-1/+104
| | | | | | The encoding for alignment in VLD4-dup instructions is still a work in progress. llvm-svn: 120356
OpenPOWER on IntegriCloud