Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Tidy up. | Jim Grosbach | 2010-12-10 | 1 | -11/+8 | |
| | | | | llvm-svn: 121522 | |||||
* | Trailing whitespace. | Jim Grosbach | 2010-12-10 | 1 | -5/+5 | |
| | | | | llvm-svn: 121521 | |||||
* | Fix some invalid alignments for Neon vld-dup and vld/st-lane instructions. | Bob Wilson | 2010-12-10 | 1 | -0/+4 | |
| | | | | | | | Alignments smaller than the total size of the memory being loaded or stored, unless the alignment is 8 bytes, are not allowed. Add tests for this, too. llvm-svn: 121506 | |||||
* | Teach isCSRestore() that ARM/Thumb2 functions will use post-modify LDR | Jim Grosbach | 2010-12-10 | 1 | -0/+5 | |
| | | | | | | | instructions to restore a single register rather than an LDM instruction. rdar://8754999 llvm-svn: 121498 | |||||
* | Thumb unconditional branch binary encoding. rdar://8754994 | Jim Grosbach | 2010-12-10 | 5 | -3/+32 | |
| | | | | llvm-svn: 121496 | |||||
* | Thumb conditional branch binary encodings. rdar://8745367 | Jim Grosbach | 2010-12-10 | 5 | -1/+28 | |
| | | | | llvm-svn: 121493 | |||||
* | Fix the leak from r121401 of the Operands erased in the list but not deleted. | Kevin Enderby | 2010-12-10 | 1 | -6/+15 | |
| | | | | llvm-svn: 121450 | |||||
* | Thumb ldr reg+imm offsets were encoded incorrectly. The scaling factor of the | Bill Wendling | 2010-12-09 | 3 | -44/+12 | |
| | | | | | | | t_addrmode_s# address modes is used for ASM printing, not for encoding. <rdar://problem/8745375> llvm-svn: 121417 | |||||
* | Use the new IsAligned fixup flag to improve fixup encodings for Thumb2 ↵ | Owen Anderson | 2010-12-09 | 2 | -2/+4 | |
| | | | | | | | | branches. This is still not perfect, but it gets many more of them correct than it did previously. llvm-svn: 121414 | |||||
* | Fix an issue in some Thumb fixups, where the effective PC address needs to ↵ | Owen Anderson | 2010-12-09 | 2 | -3/+4 | |
| | | | | | | | | | | be 4-byte aligned when calculating the offset. Add a new fixup flag to represent this, and use it for the one fixups that I have a testcase for needing this. It's quite likely that the other Thumb fixups will need this too, and to have their fixup encoding logic adjusted accordingly. llvm-svn: 121408 | |||||
* | Rename CB/CBZ specific fixup accordingly. | Jim Grosbach | 2010-12-09 | 3 | -6/+6 | |
| | | | | llvm-svn: 121404 | |||||
* | Add support for parsing ARM arithmetic instructions that update or don't update | Kevin Enderby | 2010-12-09 | 1 | -6/+45 | |
| | | | | | | | | | the condition codes. Where the ones that do have an 's' suffix and the ones that don't don't have the suffix. The trick is if MatchInstructionImpl() fails we try again after adding a CCOut operand with the correct value and removing the 's' if present. Four simple test cases added for now, lots more to come. llvm-svn: 121401 | |||||
* | Rename the encoder method for t_cbtarget to match. | Jim Grosbach | 2010-12-09 | 3 | -6/+6 | |
| | | | | llvm-svn: 121399 | |||||
* | Thumb needs a few different encoding schemes for branch targets. Rename | Jim Grosbach | 2010-12-09 | 1 | -3/+3 | |
| | | | | | | t_brtarget to be more specific. llvm-svn: 121398 | |||||
* | ARM stm/ldm instructions require more than one register in the register list. | Jim Grosbach | 2010-12-09 | 2 | -19/+60 | |
| | | | | | | | | Otherwise, a plain str/ldr should be used instead. Make sure we account for that in prologue/epilogue code generation. rdar://8745460 llvm-svn: 121391 | |||||
* | tidy up. | Jim Grosbach | 2010-12-09 | 1 | -1/+1 | |
| | | | | llvm-svn: 121371 | |||||
* | 80 columns. | Jim Grosbach | 2010-12-09 | 1 | -3/+5 | |
| | | | | llvm-svn: 121370 | |||||
* | Fix encoding of the immediate operands on post-indexed LDR and friends. | Owen Anderson | 2010-12-09 | 1 | -39/+26 | |
| | | | | llvm-svn: 121354 | |||||
* | Fix up some comments. | Eric Christopher | 2010-12-09 | 1 | -2/+2 | |
| | | | | llvm-svn: 121351 | |||||
* | Fix Thumb2 fixups for ldr. | Owen Anderson | 2010-12-09 | 3 | -5/+29 | |
| | | | | llvm-svn: 121350 | |||||
* | Add a textual message to the assert. | Jim Grosbach | 2010-12-09 | 1 | -1/+2 | |
| | | | | llvm-svn: 121349 | |||||
* | Add a sanity check assert() for t2ADD/SUBrSPi instructions that they really are | Jim Grosbach | 2010-12-09 | 1 | -0/+7 | |
| | | | | | | referencing the stack pointer as they say they are. llvm-svn: 121347 | |||||
* | When using multiple instructions to reference a frame index, make sure to | Jim Grosbach | 2010-12-09 | 1 | -0/+5 | |
| | | | | | | update the opcode when necessary as well as the source register. llvm-svn: 121346 | |||||
* | The add/sub SP instructions are really pseudos. The assembler should ignore | Jim Grosbach | 2010-12-09 | 1 | -0/+2 | |
| | | | | | | them. llvm-svn: 121345 | |||||
* | Remove unused variables | Matt Beaumont-Gay | 2010-12-09 | 1 | -2/+0 | |
| | | | | llvm-svn: 121343 | |||||
* | Fix typo in Thumb2 branch fixup. | Owen Anderson | 2010-12-09 | 1 | -5/+5 | |
| | | | | llvm-svn: 121342 | |||||
* | Remove extraneous semicolon. | Bill Wendling | 2010-12-09 | 1 | -1/+1 | |
| | | | | llvm-svn: 121338 | |||||
* | Attempt to make the bit-twiddling readable resulted in the binary value being | Bill Wendling | 2010-12-09 | 1 | -8/+10 | |
| | | | | | | overwritten. llvm-svn: 121337 | |||||
* | The BLX instruction is encoded differently than the BL, because why not? In | Bill Wendling | 2010-12-09 | 5 | -19/+53 | |
| | | | | | | | | | | particular, the immediate has 20-bits of value instead of 21. And bit 0 is '0' always. Going through the BL fixup encoding was trashing the "bit 0 is '0'" invariant. Attempt to get the encoding at slightly more correct with this. llvm-svn: 121336 | |||||
* | Fix Thumb2 BCC encoding and fixups. | Owen Anderson | 2010-12-09 | 4 | -8/+34 | |
| | | | | llvm-svn: 121329 | |||||
* | Style nit and whitespace cleanup | Jason W Kim | 2010-12-08 | 1 | -2/+2 | |
| | | | | llvm-svn: 121317 | |||||
* | Clean up the add/sub w/ SP source reg instructions in Thumb2 a bit. Add a FIXME | Jim Grosbach | 2010-12-08 | 1 | -11/+13 | |
| | | | | | | for more thorough cleanup. llvm-svn: 121315 | |||||
* | Fix T2TwoRegImm and use it for t2ADDrSPi12 and friends. | Jim Grosbach | 2010-12-08 | 1 | -19/+9 | |
| | | | | llvm-svn: 121314 | |||||
* | Removed dead comment. | Jason W Kim | 2010-12-08 | 1 | -2/+0 | |
| | | | | llvm-svn: 121313 | |||||
* | ARM/MC/ELF TPsoft is now a proper pseudo inst. | Jason W Kim | 2010-12-08 | 2 | -4/+18 | |
| | | | | | | | | | Added test to check bl __aeabi_read_tp gets emitted properly for ELF/ASM as well as ELF/OBJ (including fixup) Also added support for ELF::R_ARM_TLS_IE32 llvm-svn: 121312 | |||||
* | T2TwoRegImm isn't right for t2SUBrSPi12. Use T2I instead. | Jim Grosbach | 2010-12-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 121311 | |||||
* | Add operand encoding for Thumb2 subw SP + imm. rdar://8745434 | Jim Grosbach | 2010-12-08 | 1 | -3/+7 | |
| | | | | llvm-svn: 121310 | |||||
* | Add operand encoding for Thumb2 addw Rn + imm. rdar://8745434 | Jim Grosbach | 2010-12-08 | 1 | -5/+12 | |
| | | | | llvm-svn: 121309 | |||||
* | Support the "target" encodings for the CB[N]Z instructions. | Bill Wendling | 2010-12-08 | 5 | -32/+55 | |
| | | | | llvm-svn: 121308 | |||||
* | Fix an obvious cut-n-paste error. | Evan Cheng | 2010-12-08 | 1 | -2/+2 | |
| | | | | llvm-svn: 121307 | |||||
* | Add operand encoding for Thumb2 addw SP + imm. rdar://8745434 | Jim Grosbach | 2010-12-08 | 1 | -4/+8 | |
| | | | | llvm-svn: 121305 | |||||
* | Parameterize opcode encoding bits for Thumb2 extended precision integer | Jim Grosbach | 2010-12-08 | 1 | -37/+19 | |
| | | | | | | multiply instructions. llvm-svn: 121301 | |||||
* | Fix operand encoding for Thumb2 extended precision multiplies. rdar://8745555 | Jim Grosbach | 2010-12-08 | 1 | -10/+24 | |
| | | | | llvm-svn: 121297 | |||||
* | Simplify T2 operand assignment notation a bit. No need to specify a bit range | Jim Grosbach | 2010-12-08 | 1 | -70/+70 | |
| | | | | | | for the source field when it's the whole thing that's being referenced. llvm-svn: 121291 | |||||
* | Tweak ARM fixup value adjustments for Thumb to better handle the half-word | Jim Grosbach | 2010-12-08 | 1 | -8/+15 | |
| | | | | | | ordering of thumb mode. llvm-svn: 121280 | |||||
* | Generalize PostRAHazardRecognizer so it can be used in any pass for | Andrew Trick | 2010-12-08 | 2 | -8/+12 | |
| | | | | | | | | both forward and backward scheduling. Rename it to ScoreboardHazardRecognizer (Scoreboard is one word). Remove integer division from the scoreboard's critical path. llvm-svn: 121274 | |||||
* | Improve comment. | Owen Anderson | 2010-12-08 | 1 | -1/+2 | |
| | | | | llvm-svn: 121272 | |||||
* | Add initializer. | Jim Grosbach | 2010-12-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 121262 | |||||
* | Add comments. | Evan Cheng | 2010-12-08 | 1 | -8/+11 | |
| | | | | llvm-svn: 121238 | |||||
* | Add support for loading from a constant pool. | Bill Wendling | 2010-12-08 | 5 | -10/+60 | |
| | | | | llvm-svn: 121226 |