| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | bugfix: When the source register of CALL_NOLINK was LR, the following code ↵ | Lauro Ramos Venancio | 2007-03-20 | 3 | -19/+28 |
| | | | | | | | | | | | was emitted: mov lr, pc bx lr So, the function was not called. llvm-svn: 35218 | ||||
| * | Make two piece constant generation as a single instruction. It's ↵ | Evan Cheng | 2007-03-20 | 2 | -30/+55 |
| | | | | | | | re-materialized as a load from constantpool. llvm-svn: 35207 | ||||
| * | New entry. | Evan Cheng | 2007-03-20 | 1 | -0/+13 |
| | | | | | llvm-svn: 35206 | ||||
| * | Added MRegisterInfo hook to re-materialize an instruction. | Evan Cheng | 2007-03-20 | 12 | -16/+99 |
| | | | | | llvm-svn: 35205 | ||||
| * | Two changes: | Chris Lattner | 2007-03-20 | 2 | -13/+39 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) codegen a shift of a register as a shift, not an LEA. 2) teach the RA to convert a shift to an LEA instruction if it wants something in three-address form. This gives us asm diffs like: - leal (,%eax,4), %eax + shll $2, %eax which is faster on some processors and smaller on all of them. and, more interestingly: - movl 24(%esi), %eax - leal (,%eax,4), %edi + movl 24(%esi), %edi + shll $2, %edi Without #2, #1 was a significant pessimization in some cases. This implements CodeGen/X86/shift-codegen.ll llvm-svn: 35204 | ||||
| * | fix indentation | Chris Lattner | 2007-03-20 | 1 | -1/+1 |
| | | | | | llvm-svn: 35202 | ||||
| * | fix obvious comment bug | Dale Johannesen | 2007-03-20 | 1 | -1/+1 |
| | | | | | llvm-svn: 35196 | ||||
| * | Fix naming inconsistencies. | Evan Cheng | 2007-03-19 | 6 | -30/+30 |
| | | | | | llvm-svn: 35163 | ||||
| * | Special LDR instructions to load from non-pc-relative constantpools. These are | Evan Cheng | 2007-03-19 | 3 | -2/+12 |
| | | | | | | | rematerializable. Only used for constant generation for now. llvm-svn: 35162 | ||||
| * | Constant generation instructions are re-materializable. | Evan Cheng | 2007-03-19 | 2 | -5/+11 |
| | | | | | llvm-svn: 35161 | ||||
| * | Added isReMaterializable. | Evan Cheng | 2007-03-19 | 1 | -0/+1 |
| | | | | | llvm-svn: 35160 | ||||
| * | fix a warning | Chris Lattner | 2007-03-19 | 1 | -1/+1 |
| | | | | | llvm-svn: 35152 | ||||
| * | minor updates | Chris Lattner | 2007-03-18 | 1 | -8/+6 |
| | | | | | llvm-svn: 35143 | ||||
| * | This is implemented. We now generate: | Nick Lewycky | 2007-03-18 | 1 | -40/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | entry: icmp ugt i32 %x, 4 ; <i1>:0 [#uses=1] br i1 %0, label %cond_true, label %cond_false cond_true: ; preds = %entry %tmp1 = tail call i32 (...)* @bar( i32 12 ) ; <i32> [#uses=0] ret void cond_false: ; preds = %entry switch i32 %x, label %cond_true15 [ i32 4, label %cond_true3 i32 3, label %cond_true7 i32 2, label %cond_true11 i32 0, label %cond_false17 ] ... llvm-svn: 35142 | ||||
| * | Support 'I' inline asm constraint. | Devang Patel | 2007-03-17 | 1 | -0/+11 |
| | | | | | llvm-svn: 35129 | ||||
| * | Only ARMv6 has BSWAP. | Lauro Ramos Venancio | 2007-03-16 | 1 | -0/+4 |
| | | | | | | | Fix MultiSource/Applications/aha test. llvm-svn: 35128 | ||||
| * | And now support for MMX logical operations. | Bill Wendling | 2007-03-16 | 2 | -2/+54 |
| | | | | | llvm-svn: 35125 | ||||
| * | Added isLegalAddressExpression(). Only allows X +/- C for now. | Evan Cheng | 2007-03-16 | 2 | -0/+21 |
| | | | | | llvm-svn: 35122 | ||||
| * | Multiplication support for MMX. | Bill Wendling | 2007-03-15 | 2 | -1/+9 |
| | | | | | llvm-svn: 35118 | ||||
| * | Under X86-64 large code model, do not emit 32-bit pc relative calls. | Evan Cheng | 2007-03-14 | 1 | -3/+5 |
| | | | | | llvm-svn: 35108 | ||||
| * | Notes about codegen issues. | Evan Cheng | 2007-03-14 | 1 | -0/+47 |
| | | | | | llvm-svn: 35107 | ||||
| * | Clean up. | Evan Cheng | 2007-03-14 | 1 | -3/+4 |
| | | | | | llvm-svn: 35105 | ||||
| * | Oops. | Evan Cheng | 2007-03-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 35104 | ||||
| * | X86-64 JIT is in large code model. Need stubs for direct calls. | Evan Cheng | 2007-03-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 35097 | ||||
| * | x86-64 JIT stub codegen. | Evan Cheng | 2007-03-14 | 1 | -0/+11 |
| | | | | | llvm-svn: 35096 | ||||
| * | Preliminary support for X86-64 JIT stub codegen. | Evan Cheng | 2007-03-14 | 1 | -3/+35 |
| | | | | | llvm-svn: 35095 | ||||
| * | AM2 can match 2^n +/- 1. e.g. ldr r3, [r2, r2, lsl #2] | Evan Cheng | 2007-03-13 | 1 | -0/+23 |
| | | | | | llvm-svn: 35088 | ||||
| * | Zero is always a legal AM immediate. | Evan Cheng | 2007-03-13 | 1 | -0/+3 |
| | | | | | llvm-svn: 35087 | ||||
| * | Stack and register alignment of call arguments in the ELF ABI | Nicolas Geoffray | 2007-03-13 | 1 | -6/+52 |
| | | | | | llvm-svn: 35083 | ||||
| * | Implement getTargetLowering() or else LSR won't be using ARM specific hooks. | Evan Cheng | 2007-03-13 | 2 | -1/+8 |
| | | | | | llvm-svn: 35077 | ||||
| * | Updated TargetLowering LSR addressing mode hooks for ARM and Thumb. | Evan Cheng | 2007-03-12 | 2 | -8/+88 |
| | | | | | llvm-svn: 35075 | ||||
| * | More flexible TargetLowering LSR hooks for testing whether an immediate is a ↵ | Evan Cheng | 2007-03-12 | 2 | -5/+10 |
| | | | | | | | legal target address immediate or scale. llvm-svn: 35074 | ||||
| * | More flexible TargetLowering LSR hooks for testing whether an immediate is | Evan Cheng | 2007-03-12 | 2 | -16/+33 |
| | | | | | | | a legal target address immediate or scale. llvm-svn: 35073 | ||||
| * | Stupid bug: SSE2 supports v2i64 add / sub. | Evan Cheng | 2007-03-12 | 1 | -0/+2 |
| | | | | | llvm-svn: 35070 | ||||
| * | Adding more arithmetic operators to MMX. This is an almost exact copy of | Bill Wendling | 2007-03-10 | 2 | -0/+14 |
| | | | | | | | the addition. Please let me know if you have suggestions. llvm-svn: 35055 | ||||
| * | Minor stuff. | Evan Cheng | 2007-03-09 | 1 | -0/+4 |
| | | | | | llvm-svn: 35049 | ||||
| * | Add comments about LSR / ARM. | Evan Cheng | 2007-03-09 | 1 | -0/+4 |
| | | | | | llvm-svn: 35048 | ||||
| * | Unfinished work and ideas related to register scavenger. | Evan Cheng | 2007-03-09 | 1 | -0/+14 |
| | | | | | llvm-svn: 35047 | ||||
| * | apply comments from review of last patch | Dale Johannesen | 2007-03-09 | 1 | -2/+2 |
| | | | | | llvm-svn: 35045 | ||||
| * | Add some observations from CoreGraphics benchmark. Remove register | Dale Johannesen | 2007-03-09 | 1 | -47/+47 |
| | | | | | | | scavenging todo item, since it is now implemented. llvm-svn: 35044 | ||||
| * | Implement inline asm modifier c. | Evan Cheng | 2007-03-08 | 1 | -0/+3 |
| | | | | | llvm-svn: 35035 | ||||
| * | Added "padd*" support for MMX. Added MMX move stuff to X86InstrInfo so that | Bill Wendling | 2007-03-08 | 4 | -10/+73 |
| | | | | | | | moves, loads, etc. are recognized. llvm-svn: 35031 | ||||
| * | Fix a typo. | Evan Cheng | 2007-03-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 35030 | ||||
| * | Putting more constants which do not contain relocations into .literal{4|8|16} | Evan Cheng | 2007-03-08 | 3 | -16/+21 |
| | | | | | llvm-svn: 35026 | ||||
| * | Change register allocation order to Dale's suggestion. | Evan Cheng | 2007-03-08 | 1 | -14/+18 |
| | | | | | llvm-svn: 35021 | ||||
| * | Bug fix. Not advancing the register scavenger iterator correctly. | Evan Cheng | 2007-03-08 | 1 | -8/+21 |
| | | | | | llvm-svn: 35020 | ||||
| * | For Darwin, put constant data into .const, .const_data, .literal{4|8|16} | Evan Cheng | 2007-03-08 | 4 | -4/+53 |
| | | | | | | | sections. llvm-svn: 35017 | ||||
| * | Put constant data to .const, .const_data, .literal{4|8|16} sections. | Evan Cheng | 2007-03-08 | 2 | -2/+25 |
| | | | | | llvm-svn: 35016 | ||||
| * | Add ReadOnlySection directive. | Evan Cheng | 2007-03-08 | 1 | -0/+1 |
| | | | | | llvm-svn: 35015 | ||||
| * | Only safe to use a call-clobbered or spilled callee-saved register as ↵ | Evan Cheng | 2007-03-07 | 1 | -2/+8 |
| | | | | | | | scratch register. llvm-svn: 35010 | ||||

