Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Delete a line that I forgot to revert previously. | Bob Wilson | 2010-12-13 | 1 | -1/+0 | |
| | | | | llvm-svn: 121719 | |||||
* | Use COPY_TO_REGCLASS instead of pseudo instructions for Neon FP patterns. | Bob Wilson | 2010-12-13 | 2 | -44/+13 | |
| | | | | | | | | Jakob Olesen suggested that we can avoid the need for separate pseudo instructions here by using COPY_TO_REGCLASS in the patterns. The pattern gets pretty ugly but it seems to work well. Partial fix for Radar 8711675. llvm-svn: 121718 | |||||
* | Use pseudo instructions for 2-register Neon instructions for scalar FP. | Bob Wilson | 2010-12-13 | 2 | -35/+39 | |
| | | | | | | Partial fix for Radar 8711675. llvm-svn: 121716 | |||||
* | Remove unused instruction class arguments. | Bob Wilson | 2010-12-13 | 1 | -25/+14 | |
| | | | | llvm-svn: 121715 | |||||
* | Generalize BFI isel lowering a bit. | Evan Cheng | 2010-12-13 | 1 | -29/+35 | |
| | | | | llvm-svn: 121714 | |||||
* | In Thumb2, direct branches can be encoded as either a "short" conditional ↵ | Owen Anderson | 2010-12-13 | 6 | -8/+70 | |
| | | | | | | | | | | branch with a null predicate, or as a "long" direct branch. While the mnemonics are the same, they encode the branch offset differently, and the Darwin assembler appears to prefer the "long" form for direct branches. Thus, in the name of bitwise equivalence, provide encoding and fixup support for it. llvm-svn: 121710 | |||||
* | Use 32-bit types for 32-bit values. | Jim Grosbach | 2010-12-13 | 1 | -3/+3 | |
| | | | | llvm-svn: 121709 | |||||
* | Trailing whitespace. | Jim Grosbach | 2010-12-13 | 1 | -8/+8 | |
| | | | | llvm-svn: 121708 | |||||
* | Disable auto-detection of AVX support since AVX codegen support is not ready. | Evan Cheng | 2010-12-13 | 2 | -2/+5 | |
| | | | | llvm-svn: 121677 | |||||
* | add a note | Chris Lattner | 2010-12-13 | 1 | -0/+36 | |
| | | | | llvm-svn: 121656 | |||||
* | Missed some ADDI <-> ADDIK conversions in 121649. | Wesley Peck | 2010-12-12 | 1 | -8/+8 | |
| | | | | llvm-svn: 121652 | |||||
* | MBlaze delay slot filler was not capable of using ADDK and variants to fill ↵ | Wesley Peck | 2010-12-12 | 1 | -1/+18 | |
| | | | | | | delay slots. This broke several test cases when 121649 was committed. This fixes the regression. llvm-svn: 121650 | |||||
* | The ADD and ADDK (and all variants) instructions where flip-flopped in the ↵ | Wesley Peck | 2010-12-12 | 8 | -49/+49 | |
| | | | | | | MBlaze backend. This bug fix makes 64-bit math work on the MBlaze backend. llvm-svn: 121649 | |||||
* | 1. Change MBlaze indirect branches to use absolute branch BRALD instead of ↵ | Wesley Peck | 2010-12-12 | 5 | -12/+158 | |
| | | | | | | | | | pc relative branch BRLD. 2. Make sure that the MBlaze stack is aligned to 4-byte boundaries. 3. Determine frame indexes that should be placed in the callers stack frame, as per the MBlaze ABI, and place them in the correct locations. llvm-svn: 121639 | |||||
* | Generalize the and-icmp-select instcombine further by allowing selects of ↵ | Benjamin Kramer | 2010-12-11 | 1 | -12/+0 | |
| | | | | | | | | | | | the form (x & 2^n) ? 2^m+C : C we can offset both arms by C to get the "(x & 2^n) ? 2^m : 0" form, optimize the select to a shift and apply the offset afterwards. llvm-svn: 121609 | |||||
* | Factor the (x & 2^n) ? 2^m : 0 instcombine into its own method and generalize it | Benjamin Kramer | 2010-12-11 | 1 | -40/+0 | |
| | | | | | | to catch cases where n != m with a shift. llvm-svn: 121608 | |||||
* | (or (and (shl A, #shamt), mask), B) => ARMbfi B, A, ~mask where lsb(mask) == ↵ | Evan Cheng | 2010-12-11 | 2 | -17/+38 | |
| | | | | | | #shamt. rdar://8752056 llvm-svn: 121606 | |||||
* | Add FIXME | Jim Grosbach | 2010-12-10 | 1 | -0/+2 | |
| | | | | llvm-svn: 121598 | |||||
* | Attempt to get Thumb2 branch fixups working properly. | Owen Anderson | 2010-12-10 | 2 | -3/+2 | |
| | | | | llvm-svn: 121593 | |||||
* | Fix merge error in my last fix to Thumb2 vldr fixups. | Owen Anderson | 2010-12-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 121588 | |||||
* | Fixups for Thumb2 vldr's need to have the effective PC aligned as well. | Owen Anderson | 2010-12-10 | 2 | -3/+4 | |
| | | | | llvm-svn: 121587 | |||||
* | The MCFixupKindInfo table needs to be in the order that the enums were | Bill Wendling | 2010-12-10 | 1 | -16/+19 | |
| | | | | | | declared. Add a note specifying this and spruce up the list a bit. llvm-svn: 121586 | |||||
* | Provide the necessary post-encoder hook for Thumb2 encodings of VMOV and ↵ | Owen Anderson | 2010-12-10 | 1 | -0/+1 | |
| | | | | | | friends. llvm-svn: 121585 | |||||
* | Add float patterns for Neon vld1-lane/dup and vst1-lane operations. | Bob Wilson | 2010-12-10 | 1 | -0/+17 | |
| | | | | llvm-svn: 121583 | |||||
* | Remove unused arguments. | Bob Wilson | 2010-12-10 | 1 | -4/+4 | |
| | | | | llvm-svn: 121582 | |||||
* | Fix encoding of Thumb1 LDRB and STRB. | Owen Anderson | 2010-12-10 | 3 | -0/+18 | |
| | | | | llvm-svn: 121581 | |||||
* | Trailing whitespace. | Jim Grosbach | 2010-12-10 | 1 | -16/+16 | |
| | | | | llvm-svn: 121580 | |||||
* | Fix Thumb2 encodings of STREX and LDREX. | Owen Anderson | 2010-12-10 | 1 | -0/+12 | |
| | | | | llvm-svn: 121579 | |||||
* | Correct encoding of rotation immediate for Thumb2 instructions. rdar://8755999 | Jim Grosbach | 2010-12-10 | 1 | -4/+5 | |
| | | | | llvm-svn: 121525 | |||||
* | Fix encoding of 'U' bit for Thumb2 STRD/LDRD instructions. rdar://8755726 | Jim Grosbach | 2010-12-10 | 1 | -4/+4 | |
| | | | | llvm-svn: 121524 | |||||
* | More trivial cleanup. No need to define the EncoderMethod property type. Can | Jim Grosbach | 2010-12-10 | 2 | -7/+7 | |
| | | | | | | just assign to it. llvm-svn: 121523 | |||||
* | 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 | |||||
* | Fixed version of 121434 with no new memory leaks. | Rafael Espindola | 2010-12-10 | 6 | -38/+42 | |
| | | | | llvm-svn: 121471 | |||||
* | Fix cmake build. | Rafael Espindola | 2010-12-10 | 1 | -1/+0 | |
| | | | | llvm-svn: 121462 | |||||
* | Revert my previous patch to make the valgrind bots happy. | Rafael Espindola | 2010-12-10 | 5 | -41/+38 | |
| | | | | llvm-svn: 121461 | |||||
* | lib/Target/CMakeLists.txt: Add missing lib/Target/TargetAsmInfo.cpp, ↵ | NAKAMURA Takumi | 2010-12-10 | 1 | -0/+1 | |
| | | | | | | following up to r121434. llvm-svn: 121454 | |||||
* | 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 | |||||
* | Add some missing predicates. | Nate Begeman | 2010-12-10 | 1 | -2/+4 | |
| | | | | llvm-svn: 121445 | |||||
* | Formalize the notion that AVX and SSE are non-overlapping extensions from ↵ | Nate Begeman | 2010-12-10 | 7 | -49/+60 | |
| | | | | | | the compiler's point of view. Per email discussion, we either want to always use VEX-prefixed instructions or never use them, and are taking "HasAVX" to mean "Always use VEX". Passing -mattr=-avx,+sse42 should serve to restore legacy SSE support when desirable. llvm-svn: 121439 | |||||
* | Initial support for the cfi directives. This is just enough to get | Rafael Espindola | 2010-12-09 | 5 | -38/+41 | |
| | | | | | | | | | | | f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434 | |||||
* | 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 | |||||
* | Add support for AVX to materialize +0.0 when doing scalar FP. | Nate Begeman | 2010-12-09 | 3 | -2/+12 | |
| | | | | llvm-svn: 121415 | |||||
* | 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 |