Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement a MachineFunctionPass to fix the mul instruction | Rafael Espindola | 2006-09-19 | 4 | -1/+74 |
| | | | | llvm-svn: 30485 | ||||
* | item done | Chris Lattner | 2006-09-19 | 1 | -11/+0 |
| | | | | llvm-svn: 30483 | ||||
* | Fold the PPCISD shifts when presented with 0 inputs. This occurs for code | Chris Lattner | 2006-09-19 | 1 | -0/+20 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | like: long long test(long long X, int Y) { return 1ULL << Y; } long long test2(long long X, int Y) { return -1LL << Y; } which we used to compile to: _test: li r2, 1 subfic r3, r5, 32 li r4, 0 addi r6, r5, -32 srw r3, r2, r3 slw r4, r4, r5 slw r6, r2, r6 or r3, r4, r3 slw r4, r2, r5 or r3, r3, r6 blr _test2: li r2, -1 subfic r3, r5, 32 addi r6, r5, -32 srw r3, r2, r3 slw r4, r2, r5 slw r2, r2, r6 or r3, r4, r3 or r3, r3, r2 blr Now we produce: _test: li r2, 1 addi r3, r5, -32 subfic r4, r5, 32 slw r3, r2, r3 srw r4, r2, r4 or r3, r4, r3 slw r4, r2, r5 blr _test2: li r2, -1 subfic r3, r5, 32 addi r6, r5, -32 srw r3, r2, r3 slw r4, r2, r5 slw r2, r2, r6 or r3, r4, r3 or r3, r3, r2 blr llvm-svn: 30479 | ||||
* | A pass to remove the worst of the replay trap offenders, and as a bonus, ↵ | Andrew Lenharth | 2006-09-18 | 3 | -0/+146 |
| | | | | | | align basic blocks when it is free to do so llvm-svn: 30467 | ||||
* | Jump tables on Alpha | Andrew Lenharth | 2006-09-18 | 3 | -2/+38 |
| | | | | llvm-svn: 30463 | ||||
* | add a note. Our 64-bit shifts are ~30% slower than gcc's | Chris Lattner | 2006-09-18 | 1 | -1/+2 |
| | | | | llvm-svn: 30457 | ||||
* | This is closer to what we really want. | Chris Lattner | 2006-09-18 | 1 | -2/+3 |
| | | | | llvm-svn: 30451 | ||||
* | Added some eye-candy for Subtarget type checking | Anton Korobeynikov | 2006-09-17 | 7 | -8/+42 |
| | | | | | | Added X86 StdCall & FastCall calling conventions. Codegen will follow. llvm-svn: 30446 | ||||
* | Small fixes for supporting dll* linkage types | Anton Korobeynikov | 2006-09-17 | 1 | -2/+2 |
| | | | | llvm-svn: 30441 | ||||
* | add a note noticed through source inspection | Chris Lattner | 2006-09-16 | 1 | -3/+30 |
| | | | | llvm-svn: 30418 | ||||
* | add a note | Chris Lattner | 2006-09-16 | 1 | -0/+3 |
| | | | | llvm-svn: 30406 | ||||
* | add a nate note | Chris Lattner | 2006-09-15 | 1 | -0/+6 |
| | | | | llvm-svn: 30399 | ||||
* | Remove a unnecessary check. | Evan Cheng | 2006-09-14 | 1 | -1/+0 |
| | | | | llvm-svn: 30382 | ||||
* | add a note | Chris Lattner | 2006-09-14 | 1 | -0/+25 |
| | | | | llvm-svn: 30377 | ||||
* | Adding dllimport, dllexport and external weak linkage types. | Anton Korobeynikov | 2006-09-14 | 10 | -10/+159 |
| | | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374 | ||||
* | add note about switch lowering | Chris Lattner | 2006-09-13 | 1 | -0/+29 |
| | | | | llvm-svn: 30308 | ||||
* | Skip over first operand when determining REX prefix for two-address code. | Evan Cheng | 2006-09-13 | 1 | -7/+14 |
| | | | | llvm-svn: 30300 | ||||
* | Turn X < 0 -> TEST X,X js | Chris Lattner | 2006-09-13 | 1 | -8/+11 |
| | | | | llvm-svn: 30294 | ||||
* | The sense of this branch was inverted :( | Chris Lattner | 2006-09-13 | 1 | -1/+1 |
| | | | | llvm-svn: 30293 | ||||
* | add shifts to addressing mode 1 | Rafael Espindola | 2006-09-13 | 6 | -32/+81 |
| | | | | llvm-svn: 30291 | ||||
* | Fix a regression in the 32-bit port from the 64-bit port landing. | Chris Lattner | 2006-09-13 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | We now compile CodeGen/X86/lea-2.ll into: _test: movl 4(%esp), %eax movl 8(%esp), %ecx leal -5(%ecx,%eax,4), %eax ret instead of: _test: movl 4(%esp), %eax leal (,%eax,4), %eax addl 8(%esp), %eax addl $4294967291, %eax ret llvm-svn: 30288 | ||||
* | new note | Chris Lattner | 2006-09-13 | 1 | -0/+32 |
| | | | | llvm-svn: 30286 | ||||
* | new note | Chris Lattner | 2006-09-13 | 1 | -0/+13 |
| | | | | llvm-svn: 30285 | ||||
* | Compile X > -1 -> text X,X; js dest | Chris Lattner | 2006-09-13 | 2 | -28/+23 |
| | | | | | | This implements CodeGen/X86/jump_sign.ll. llvm-svn: 30283 | ||||
* | Reflects MachineConstantPoolEntry changes. | Evan Cheng | 2006-09-12 | 8 | -11/+12 |
| | | | | llvm-svn: 30279 | ||||
* | add a note | Chris Lattner | 2006-09-12 | 1 | -0/+14 |
| | | | | llvm-svn: 30271 | ||||
* | Testcase noticed from PR906 | Chris Lattner | 2006-09-11 | 1 | -0/+34 |
| | | | | llvm-svn: 30269 | ||||
* | add compilable testcase | Chris Lattner | 2006-09-11 | 1 | -1/+6 |
| | | | | llvm-svn: 30268 | ||||
* | implement SRL and MUL | Rafael Espindola | 2006-09-11 | 1 | -0/+9 |
| | | | | llvm-svn: 30262 | ||||
* | add the correct fallback for ARMDAGToDAGISel::SelectAddrMode1 | Rafael Espindola | 2006-09-11 | 1 | -6/+3 |
| | | | | llvm-svn: 30261 | ||||
* | partial implementation of the ARM Addressing Mode 1 | Rafael Espindola | 2006-09-11 | 5 | -37/+74 |
| | | | | llvm-svn: 30252 | ||||
* | call AsmPrinter::doInitialization in ARMAsmPrinter::doInitialization | Rafael Espindola | 2006-09-11 | 1 | -0/+1 |
| | | | | llvm-svn: 30246 | ||||
* | Updates. | Evan Cheng | 2006-09-11 | 2 | -154/+0 |
| | | | | llvm-svn: 30245 | ||||
* | Update README file. | Evan Cheng | 2006-09-11 | 1 | -98/+3 |
| | | | | llvm-svn: 30244 | ||||
* | X86ISD::CMP now produces a chain as well as a flag. Make that the chain | Evan Cheng | 2006-09-11 | 5 | -157/+131 |
| | | | | | | | operand of a conditional branch to allow load folding into CMP / TEST instructions. llvm-svn: 30241 | ||||
* | Behold, more work on relocations. Things are looking pretty good now. | Nate Begeman | 2006-09-10 | 2 | -40/+70 |
| | | | | llvm-svn: 30240 | ||||
* | Removed unnecessary Mangler creation. | Anton Korobeynikov | 2006-09-10 | 1 | -1/+0 |
| | | | | llvm-svn: 30239 | ||||
* | Add cbe support for powi | Chris Lattner | 2006-09-09 | 1 | -0/+10 |
| | | | | llvm-svn: 30226 | ||||
* | First pass at supporting relocations. Relocations are written correctly to | Nate Begeman | 2006-09-08 | 3 | -21/+88 |
| | | | | | | | the file now, however the relocated address is currently wrong. Fixing that will require some deep pondering. llvm-svn: 30207 | ||||
* | Fixed a FuseTwoAddrInst() bug: consider GlobalAddress and JumpTableIndex | Evan Cheng | 2006-09-08 | 1 | -6/+11 |
| | | | | | | in addition to immediate operands. llvm-svn: 30205 | ||||
* | implement shl and sra | Rafael Espindola | 2006-09-08 | 1 | -0/+12 |
| | | | | llvm-svn: 30191 | ||||
* | Use __USER_LABEL_PREFIX__ to get the prefix added by the current host. | Chris Lattner | 2006-09-08 | 1 | -15/+14 |
| | | | | llvm-svn: 30190 | ||||
* | add the eor (xor) instruction | Rafael Espindola | 2006-09-08 | 1 | -0/+5 |
| | | | | llvm-svn: 30189 | ||||
* | Missing tab | Jim Laskey | 2006-09-08 | 1 | -1/+1 |
| | | | | llvm-svn: 30188 | ||||
* | implement unconditional branches | Rafael Espindola | 2006-09-08 | 1 | -0/+4 |
| | | | | | | fix select.ll llvm-svn: 30186 | ||||
* | Remove TEST64mr. It's same as TEST64rm since and is commutative. | Evan Cheng | 2006-09-08 | 1 | -3/+0 |
| | | | | llvm-svn: 30178 | ||||
* | Committing X86-64 support. | Evan Cheng | 2006-09-08 | 25 | -462/+3603 |
| | | | | llvm-svn: 30177 | ||||
* | We actually do support object file writing, so don't return true (error) | Nate Begeman | 2006-09-08 | 1 | -3/+1 |
| | | | | llvm-svn: 30173 | ||||
* | - Identify a vector_shuffle that can be turned into an undef, e.g. | Evan Cheng | 2006-09-08 | 1 | -15/+41 |
| | | | | | | | | | shuffle V1, <undef>, <undef, undef, 4, 5> - Fix some suspicious logic into LowerVectorShuffle that cause less than optimal code by failing to identify MOVL (move to lowest element of a vector). llvm-svn: 30171 | ||||
* | 1. Remove condition on delete. | Jim Laskey | 2006-09-07 | 13 | -37/+57 |
| | | | | | | | | 2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. llvm-svn: 30169 |