| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | improve portability to avoid conflicting with std::next in c++'0x. | Chris Lattner | 2009-12-03 | 1 | -1/+1 | 
| | | | | | | | Patch by Howard Hinnant! llvm-svn: 90365 | ||||
| * | Materialize global addresses via movt/movw pair, this is always better | Anton Korobeynikov | 2009-11-24 | 1 | -1/+7 | 
| | | | | | | | | | | | | | | than doing the same via constpool: 1. Load from constpool costs 3 cycles on A9, movt/movw pair - just 2. 2. Load from constpool might stall up to 300 cycles due to cache miss. 3. Movt/movw does not use load/store unit. 4. Less constpool entries => better compiler performance. This is only enabled on ELF systems, since darwin does not have needed relocations (yet). llvm-svn: 89720 | ||||
| * | Shrink ldr / str [sp, imm0-1024] to 16-bit instructions. | Evan Cheng | 2009-11-19 | 1 | -8/+26 | 
| | | | | | llvm-svn: 89326 | ||||
| * | Remove includes of Support/Compiler.h that are no longer needed after the | Nick Lewycky | 2009-10-25 | 1 | -1/+0 | 
| | | | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043 | ||||
| * | Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. | Nick Lewycky | 2009-10-25 | 1 | -1/+1 | 
| | | | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042 | ||||
| * | Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo | Evan Cheng | 2009-09-28 | 1 | -0/+1 | 
| | | | | | | | | | | instruction. This makes it re-materializable. Thumb2 will split it back out into two instructions so IT pass will generate the right mask. Also, this expose opportunies to optimize the movw to a 16-bit move. llvm-svn: 82982 | ||||
| * | Cast MO.getImm() to unsigned before comparing with an unsigned limit. | Evan Cheng | 2009-09-09 | 1 | -1/+1 | 
| | | | | | llvm-svn: 81318 | ||||
| * | Remove some not-really-used variables, as warned | Duncan Sands | 2009-09-06 | 1 | -2/+0 | 
| | | | | | | | about by icc (#593, partial). Patch by Erick Tryzelaar. llvm-svn: 81115 | ||||
| * | remove various std::ostream version of printing methods from | Chris Lattner | 2009-08-23 | 1 | -3/+4 | 
| | | | | | | | | | MachineInstr and MachineOperand. This required eliminating a bunch of stuff that was using DOUT, I hope that bill doesn't mind me stealing his fun. ;-) llvm-svn: 79813 | ||||
| * | Fix use after free in Thumb2SizeReduction (PR4707). A MachineInstr was used ↵ | Benjamin Kramer | 2009-08-16 | 1 | -1/+4 | 
| | | | | | | | after erasure. llvm-svn: 79189 | ||||
| * | Turn on if-conversion for thumb2. | Evan Cheng | 2009-08-15 | 1 | -6/+14 | 
| | | | | | llvm-svn: 79084 | ||||
| * | Shrink ADR and LDR from constantpool late during constantpool island pass. | Evan Cheng | 2009-08-14 | 1 | -0/+2 | 
| | | | | | llvm-svn: 78970 | ||||
| * | PredCC is meant to be 2 bits wide, like PredCC1. | Evan Cheng | 2009-08-12 | 1 | -1/+1 | 
| | | | | | llvm-svn: 78829 | ||||
| * | Shrink Thumb2 movcc instructions. | Evan Cheng | 2009-08-12 | 1 | -1/+2 | 
| | | | | | llvm-svn: 78790 | ||||
| * | Shrink ADDS, ADC, RSB, and SUBS. | Evan Cheng | 2009-08-12 | 1 | -29/+103 | 
| | | | | | llvm-svn: 78776 | ||||
| * | Shrinkify Thumb2 r = add sp, imm. | Evan Cheng | 2009-08-11 | 1 | -7/+18 | 
| | | | | | llvm-svn: 78745 | ||||
| * | Shrinkify Thumb2 load / store multiple instructions. | Evan Cheng | 2009-08-11 | 1 | -34/+84 | 
| | | | | | llvm-svn: 78717 | ||||
| * | Fix the previous accidental commit. Now shrinking common Thumb2 load / store ↵ | Evan Cheng | 2009-08-11 | 1 | -2/+4 | 
| | | | | | | | instructions. llvm-svn: 78659 | ||||
| * | Fix Thumb2 load / store addressing mode matching code. Do not use so_reg form to | Evan Cheng | 2009-08-11 | 1 | -2/+140 | 
| | | | | | | | | | | | match base only address, i.e. [r] since Thumb2 requires a offset register field. For those, use [r + imm12] where the immediate is zero. Note the generated assembly code does not look any different after the patch. But the bug would have broken the JIT (if there is Thumb2 support) and it can break later passes which expect the address mode to be well-formed. llvm-svn: 78658 | ||||
| * | Watch out for empty BB. | Evan Cheng | 2009-08-10 | 1 | -1/+1 | 
| | | | | | llvm-svn: 78562 | ||||
| * | rev, rev16, and revsh do not set CPSR. | Evan Cheng | 2009-08-10 | 1 | -3/+3 | 
| | | | | | llvm-svn: 78561 | ||||
| * | Duh. Most 16-bit Thumb rr instructions are two-address. Fix table. | Evan Cheng | 2009-08-10 | 1 | -9/+15 | 
| | | | | | llvm-svn: 78560 | ||||
| * | CPSR can be livein; transfer predicate operands correctly; tMUL is two-address. | Evan Cheng | 2009-08-10 | 1 | -19/+57 | 
| | | | | | llvm-svn: 78559 | ||||
| * | Add support to reduce most of 32-bit Thumb2 arithmetic instructions. | Evan Cheng | 2009-08-10 | 1 | -69/+147 | 
| | | | | | llvm-svn: 78550 | ||||
| * | Add support to convert 32-bit instructions to 16-bit non-two-address ones. | Evan Cheng | 2009-08-09 | 1 | -35/+96 | 
| | | | | | llvm-svn: 78540 | ||||
| * | Add a skeleton Thumb2 instruction size reduction pass. | Evan Cheng | 2009-08-08 | 1 | -0/+213 | 
| llvm-svn: 78456 | |||||

