| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Since extload can also be used by FP, split STDIntExtLoad into two parts, | Nate Begeman | 2005-12-18 | 1 | -2/+5 | |
| | | | | | | | | one for use with extload, one for use with sextload and zextload, which are integer only. llvm-svn: 24814 | |||||
| * | Add constant pool support, including folding into addresses. | Chris Lattner | 2005-12-18 | 3 | -2/+24 | |
| | | | | | | | Pretty print addresses a bit, to not print [%r1+%g0]: just print [%r1] llvm-svn: 24813 | |||||
| * | Teach the addressing mode stuff to fold "%lo" into 'ri' addressing modes, | Chris Lattner | 2005-12-18 | 2 | -1/+20 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | allowing us to compile this: to this: %G1 = external global int %G2 = external global int void %test() { %X = load int* %G1 store int %X, int* %G2 ret void } test: save -96, %sp, %sp sethi %hi(G1), %l0 ld [%l0+%lo(G1)], %l0 sethi %hi(G2), %l1 st %l0, [%l1+%lo(G2)] restore %g0, %g0, %g0 retl nop instead of this: test: save -96, %sp, %sp sethi %hi(G1), %l0 or %g0, %lo(G1), %l1 ld [%l1+%l0], %l0 sethi %hi(G2), %l1 or %g0, %lo(G2), %l2 st %l0, [%l2+%l1] restore %g0, %g0, %g0 retl nop llvm-svn: 24812 | |||||
| * | Add initial support for global variables, and fix a bug in addr mode selection | Chris Lattner | 2005-12-18 | 2 | -3/+21 | |
| | | | | | | | where we didn't select the operands. llvm-svn: 24811 | |||||
| * | Claiming that branch targets are registers is not very wholesome. Change them | Chris Lattner | 2005-12-18 | 1 | -51/+56 | |
| | | | | | | | to be basic blocks. Also, add uncond branches. llvm-svn: 24810 | |||||
| * | Add unordered comparisons | Chris Lattner | 2005-12-18 | 1 | -13/+8 | |
| | | | | | llvm-svn: 24809 | |||||
| * | Add patterns to the rest of the int condbranches and some of the fp branches | Chris Lattner | 2005-12-18 | 1 | -23/+46 | |
| | | | | | llvm-svn: 24808 | |||||
| * | Add initial conditional branch support. This doesn't actually work yet due | Chris Lattner | 2005-12-18 | 4 | -46/+160 | |
| | | | | | | | to a bug in the scheduler. llvm-svn: 24807 | |||||
| * | Simplify code | Chris Lattner | 2005-12-18 | 1 | -7/+2 | |
| | | | | | llvm-svn: 24806 | |||||
| * | Eliminate CMPri, which is a synonym for SUBCCri | Chris Lattner | 2005-12-17 | 2 | -8/+3 | |
| | | | | | llvm-svn: 24805 | |||||
| * | allow custom expansion of BR_CC | Chris Lattner | 2005-12-17 | 1 | -11/+25 | |
| | | | | | llvm-svn: 24804 | |||||
| * | add fneg,fabs,fsqrt instructions | Chris Lattner | 2005-12-17 | 2 | -4/+16 | |
| | | | | | llvm-svn: 24803 | |||||
| * | Add patterns for fround/fextend and the funny fsmuld instruction | Chris Lattner | 2005-12-17 | 1 | -4/+8 | |
| | | | | | llvm-svn: 24802 | |||||
| * | Add FP +,-,*,/ | Chris Lattner | 2005-12-17 | 1 | -8/+16 | |
| | | | | | llvm-svn: 24801 | |||||
| * | Give patterns to F3_3 instructions | Chris Lattner | 2005-12-17 | 2 | -21/+22 | |
| | | | | | llvm-svn: 24800 | |||||
| * | Implement 64-bit add/sub, make sure to receive and return 64-bit args with | Chris Lattner | 2005-12-17 | 1 | -4/+32 | |
| | | | | | | | the right halves in the right regs llvm-svn: 24799 | |||||
| * | implement div and rem | Chris Lattner | 2005-12-17 | 1 | -0/+26 | |
| | | | | | llvm-svn: 24798 | |||||
| * | implement MULHU/MULHS for 64-bit multiplies | Chris Lattner | 2005-12-17 | 1 | -0/+11 | |
| | | | | | llvm-svn: 24797 | |||||
| * | Add patterns for multiply, simplify Y register handling stuff, add RDY ↵ | Chris Lattner | 2005-12-17 | 3 | -17/+17 | |
| | | | | | | | instruction llvm-svn: 24796 | |||||
| * | Make the addressing modes smarter | Chris Lattner | 2005-12-17 | 2 | -10/+21 | |
| | | | | | llvm-svn: 24795 | |||||
| * | remove some unused instructions | Chris Lattner | 2005-12-17 | 1 | -81/+6 | |
| | | | | | llvm-svn: 24794 | |||||
| * | add andn/orn/xorn patterns. This allows us to compile this: | Chris Lattner | 2005-12-17 | 1 | -3/+6 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | long %test(ubyte, short, long %X, long %Y) { %A = xor long %X, -1 %B = and long %Y, %A ret long %B } to this: test: save -96, %sp, %sp andn %i4, %i2, %i0 andn %i5, %i3, %i1 restore %g0, %g0, %g0 retl nop instead of this: test: save -96, %sp, %sp xor %i2, -1, %l0 xor %i3, -1, %l1 and %i4, %l0, %i0 and %i5, %l1, %i1 restore %g0, %g0, %g0 retl nop The simpleisel emits: :( test: save -96, %sp, %sp or %g0, -1, %l0 or %g0, -1, %l0 or %g0, -1, %l0 or %g0, -1, %l1 xor %i2, %l0, %l0 xor %i3, %l1, %l1 and %i4, %l0, %i0 and %i5, %l1, %i1 restore %g0, %g0, %g0 retl nop llvm-svn: 24793 | |||||
| * | Add support for 64-bit arguments | Chris Lattner | 2005-12-17 | 1 | -0/+12 | |
| | | | | | llvm-svn: 24792 | |||||
| * | Sparc doesn't have sext_inreg | Chris Lattner | 2005-12-17 | 1 | -0/+5 | |
| | | | | | llvm-svn: 24791 | |||||
| * | add patterns for FP stores | Chris Lattner | 2005-12-17 | 1 | -20/+12 | |
| | | | | | llvm-svn: 24790 | |||||
| * | Add [reg+reg] integer stores | Chris Lattner | 2005-12-17 | 1 | -0/+15 | |
| | | | | | llvm-svn: 24789 | |||||
| * | Add store patterns | Chris Lattner | 2005-12-17 | 1 | -3/+6 | |
| | | | | | llvm-svn: 24788 | |||||
| * | add truncstore | Chris Lattner | 2005-12-17 | 1 | -3/+9 | |
| | | | | | llvm-svn: 24787 | |||||
| * | add fp load patterns, switch rest of loads and stores to use addrmodes | Chris Lattner | 2005-12-17 | 1 | -30/+28 | |
| | | | | | llvm-svn: 24786 | |||||
| * | Add integer load[r+r] forms. | Chris Lattner | 2005-12-17 | 1 | -0/+23 | |
| | | | | | llvm-svn: 24785 | |||||
| * | Rename load/store instructions to include an RI suffix | Chris Lattner | 2005-12-17 | 2 | -54/+51 | |
| | | | | | llvm-svn: 24784 | |||||
| * | Add patterns for the rest of the loads. Add 'ri' suffixes to the load and ↵ | Chris Lattner | 2005-12-17 | 1 | -31/+35 | |
| | | | | | | | store insts llvm-svn: 24783 | |||||
| * | Add basic addressing mode support and one load. | Chris Lattner | 2005-12-17 | 3 | -3/+48 | |
| | | | | | llvm-svn: 24782 | |||||
| * | eliminate some redundancy | Chris Lattner | 2005-12-17 | 1 | -8/+8 | |
| | | | | | llvm-svn: 24781 | |||||
| * | Use a combination of sethi and or to build arbitrary immediates. | Chris Lattner | 2005-12-17 | 1 | -0/+7 | |
| | | | | | llvm-svn: 24780 | |||||
| * | Use sethi to build large immediates with zeros at the bottom | Chris Lattner | 2005-12-17 | 2 | -3/+14 | |
| | | | | | llvm-svn: 24779 | |||||
| * | Add shift and small immediate support | Chris Lattner | 2005-12-17 | 1 | -6/+20 | |
| | | | | | llvm-svn: 24778 | |||||
| * | Add some basic reg-reg instructions | Chris Lattner | 2005-12-17 | 1 | -5/+10 | |
| | | | | | llvm-svn: 24777 | |||||
| * | Add empty patterns to all F3_1 instructions | Chris Lattner | 2005-12-17 | 2 | -43/+45 | |
| | | | | | llvm-svn: 24776 | |||||
| * | Darwin API issue: indirect load of external and weak symbols. | Evan Cheng | 2005-12-17 | 1 | -3/+8 | |
| | | | | | llvm-svn: 24775 | |||||
| * | Add some simple integer patterns. This allows us to compile this: | Chris Lattner | 2005-12-17 | 1 | -5/+19 | |
| | | | | | | | | | | | | | | | | | | | | | | | int %test(int %A) { %B = add int %A, 1 %C = xor int %B, 123 ret int %C } into this: test: save -96, %sp, %sp add %i0, 1, %l0 xor %l0, 123, %i0 restore %g0, %g0, %g0 retl nop for example. I guess it would make sense to add reg/reg versions too. llvm-svn: 24774 | |||||
| * | Implement ret with operand, giving us this: | Chris Lattner | 2005-12-17 | 1 | -2/+33 | |
| | | | | | | | | | int %test(int %A) { ret int %A } llvm-svn: 24773 | |||||
| * | Add a pattern for 'ret'. This now compiles: | Chris Lattner | 2005-12-17 | 1 | -1/+1 | |
| | | | | | | | | | void %test() { ret void } :) llvm-svn: 24772 | |||||
| * | Add empty patterns for F3_2 instructions | Chris Lattner | 2005-12-17 | 2 | -56/+58 | |
| | | | | | llvm-svn: 24771 | |||||
| * | Implement LowerArguments, at least for the first 6 integer args | Chris Lattner | 2005-12-17 | 1 | -2/+63 | |
| | | | | | llvm-svn: 24770 | |||||
| * | Add the framework for a dag-dag isel | Chris Lattner | 2005-12-17 | 4 | -2/+185 | |
| | | | | | llvm-svn: 24769 | |||||
| * | Remove a few lines of dead code. | Evan Cheng | 2005-12-17 | 1 | -3/+0 | |
| | | | | | llvm-svn: 24768 | |||||
| * | asmprinter done, added crucial missing step | Chris Lattner | 2005-12-17 | 1 | -3/+2 | |
| | | | | | llvm-svn: 24767 | |||||
| * | Use the AsmPrinter for global variable init printing. This eliminates a | Chris Lattner | 2005-12-17 | 1 | -209/+2 | |
| | | | | | | | | bunch of code and causes V8 to start using the fancy .asciz directive that the sun assembler supports. llvm-svn: 24766 | |||||
| * | Switch constant pool printing over to use the Shared AsmPrinter version | Chris Lattner | 2005-12-17 | 1 | -27/+10 | |
| | | | | | llvm-svn: 24765 | |||||

