Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Various cleanups to this pass, no functionality change | Chris Lattner | 2005-12-19 | 1 | -46/+43 | |
| | | | | llvm-svn: 24846 | |||||
* | add bool truncstores | Chris Lattner | 2005-12-19 | 1 | -0/+6 | |
| | | | | llvm-svn: 24845 | |||||
* | Elimiante SP and FP, which weren't members of the IntRegs register class | Chris Lattner | 2005-12-19 | 4 | -29/+13 | |
| | | | | llvm-svn: 24844 | |||||
* | The sun assembler only supports .xword in V9 mode. | Chris Lattner | 2005-12-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 24842 | |||||
* | Configure the asmwriter to allow constant pools to be printed correctly | Chris Lattner | 2005-12-18 | 2 | -1/+2 | |
| | | | | llvm-svn: 24841 | |||||
* | add support for integer extloads | Chris Lattner | 2005-12-18 | 1 | -0/+9 | |
| | | | | llvm-svn: 24840 | |||||
* | Add support for undef | Chris Lattner | 2005-12-18 | 2 | -6/+12 | |
| | | | | llvm-svn: 24839 | |||||
* | Add support for calls to external symbols | Chris Lattner | 2005-12-18 | 1 | -1/+2 | |
| | | | | llvm-svn: 24838 | |||||
* | we have no memcpy | Chris Lattner | 2005-12-18 | 1 | -0/+6 | |
| | | | | llvm-svn: 24837 | |||||
* | Fix a crash on a call with no arguments | Chris Lattner | 2005-12-18 | 1 | -6/+14 | |
| | | | | llvm-svn: 24836 | |||||
* | Change return lowering so that we can autogen the matching code. | Chris Lattner | 2005-12-18 | 2 | -30/+25 | |
| | | | | llvm-svn: 24832 | |||||
* | Implement Calls for V8. This would be completely autogenerated except for | Chris Lattner | 2005-12-18 | 2 | -15/+257 | |
| | | | | | | | a small bug in tblgen. When that is fixed, we can remove the ISD::Call case in Select. llvm-svn: 24830 | |||||
* | Implement the full V8 ABI for incoming arguments. | Chris Lattner | 2005-12-18 | 2 | -28/+143 | |
| | | | | llvm-svn: 24825 | |||||
* | Push ops list, asm string, and pattern all the way up to InstV8. Move the | Chris Lattner | 2005-12-18 | 2 | -48/+28 | |
| | | | | | | InstV8 class to the InstrFormats file where it belongs. llvm-svn: 24824 | |||||
* | Give V8 select_cc, in the spirit of the PPC backend | Chris Lattner | 2005-12-18 | 2 | -32/+189 | |
| | | | | llvm-svn: 24823 | |||||
* | remove some unused instructions | Chris Lattner | 2005-12-18 | 1 | -12/+0 | |
| | | | | llvm-svn: 24822 | |||||
* | V8 doesn't have FP extload | Chris Lattner | 2005-12-18 | 1 | -0/+2 | |
| | | | | llvm-svn: 24821 | |||||
* | simplifications, fix typo | Chris Lattner | 2005-12-18 | 1 | -6/+5 | |
| | | | | llvm-svn: 24820 | |||||
* | Add frameindex support | Chris Lattner | 2005-12-18 | 2 | -26/+96 | |
| | | | | | | | Add support for copying (e.g. returning) doubles Add support for F<->I instructions llvm-svn: 24818 | |||||
* | Tighten up some checks | Chris Lattner | 2005-12-18 | 1 | -5/+1 | |
| | | | | llvm-svn: 24817 | |||||
* | 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 | |||||
* | Eliminate CMPri, which is a synonym for SUBCCri | Chris Lattner | 2005-12-17 | 2 | -8/+3 | |
| | | | | llvm-svn: 24805 | |||||
* | 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 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 | |||||
* | Use a combination of sethi and or to build arbitrary immediates. | Chris Lattner | 2005-12-17 | 1 | -0/+7 | |
| | | | | llvm-svn: 24780 |