Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix bug generating code for void call instructions: don't call | Brian Gaeke | 2004-06-15 | 1 | -2/+2 | |
| | | | | | | getReg() on void value. llvm-svn: 14178 | |||||
* | Squash a warning from the Solaris assembler by aligning the stack | Brian Gaeke | 2004-06-15 | 1 | -1/+2 | |
| | | | | | | on a double-word boundary instead of a single-word boundary. llvm-svn: 14177 | |||||
* | Allow special-casing of operand printing based on opcode. Print | Brian Gaeke | 2004-06-15 | 1 | -18/+28 | |
| | | | | | | | non-register, non-immed. arguments to SETHI and OR using %hi() and %lo() respectively. llvm-svn: 14176 | |||||
* | Support constant GEP expressions. | Brian Gaeke | 2004-06-15 | 1 | -21/+52 | |
| | | | | | | | Support copying long constants to register pairs. Support copying ConstantPointerNulls and ConstantPointerRefs to registers. llvm-svn: 14175 | |||||
* | Adjust to new TM interfaces | Chris Lattner | 2004-06-02 | 2 | -6/+3 | |
| | | | | llvm-svn: 13949 | |||||
* | Add support for widening integral casts. | Brian Gaeke | 2004-05-08 | 1 | -34/+76 | |
| | | | | | | | | | | | | | | | | | | Flesh out the SetCC support... which currently ends in a little bit of unfinished code (which is probably completely hilarious) for generating the condition value splitting the basic block up into 4 blocks, like this (clearly a better API is needed for this!): BB cond. branch / / R1=1 R2=0 \ / \ / R=phi(R1,R2) Other minor edits. llvm-svn: 13423 | |||||
* | Add a bunch more branches | Brian Gaeke | 2004-05-08 | 1 | -4/+12 | |
| | | | | llvm-svn: 13422 | |||||
* | Flesh out GEP support | Brian Gaeke | 2004-05-08 | 1 | -3/+53 | |
| | | | | llvm-svn: 13421 | |||||
* | Add ADD with immediate | Brian Gaeke | 2004-05-08 | 1 | -0/+1 | |
| | | | | llvm-svn: 13420 | |||||
* | Add forms of CMP, SUBCC, and a few branches, and some comments. | Brian Gaeke | 2004-05-08 | 1 | -0/+13 | |
| | | | | llvm-svn: 13419 | |||||
* | Add stub support for GEPs. | Brian Gaeke | 2004-05-08 | 1 | -8/+90 | |
| | | | | | | | | | Add support for branches (based loosely on X86/InstSelectSimple). Add support for not visiting phi nodes in the first pass. Add support for loading bools. Flesh out support for stores. llvm-svn: 13418 | |||||
* | Add support for copying bool constants to registers. | Brian Gaeke | 2004-05-07 | 1 | -8/+36 | |
| | | | | | | | | Disable the code that copies long constants to registers - it looks fishy. Implement some simple casts: integral, smaller than longs, and equal-width or narrowing only. llvm-svn: 13413 | |||||
* | I don't think we have to have 4 extra allocated (but unused) bytes on the stack. | Brian Gaeke | 2004-04-13 | 2 | -2/+2 | |
| | | | | llvm-svn: 12905 | |||||
* | I started working on casts, but I don't have anything compilable yet. | Brian Gaeke | 2004-04-13 | 1 | -0/+11 | |
| | | | | llvm-svn: 12903 | |||||
* | Don't print [%reg + 0], just print [%reg] | Brian Gaeke | 2004-04-07 | 1 | -2/+4 | |
| | | | | llvm-svn: 12759 | |||||
* | First version of code to handle loads. Stub function for handling stores. | Brian Gaeke | 2004-04-07 | 1 | -1/+39 | |
| | | | | llvm-svn: 12758 | |||||
* | Support loading arguments from %I0...%I5 into virtual registers in | Brian Gaeke | 2004-04-07 | 1 | -3/+30 | |
| | | | | | | | function prologues, and fix an off-by-one in visitCallInst that was putting call args into the wrong registers. llvm-svn: 12757 | |||||
* | It's setting up the call args right now, but on the callee side, it's | Brian Gaeke | 2004-04-07 | 1 | -1/+13 | |
| | | | | | | | trying to get incoming args off the stack, instead of the %i0...%i6 regs, which is wrong. llvm-svn: 12756 | |||||
* | This is a start on handling setcc instructions. As the comment notes, we | Chris Lattner | 2004-04-07 | 1 | -0/+35 | |
| | | | | | | | have no good way of handling this until the code generator is improved. We should probably just emit V9 instructions in the meantime. llvm-svn: 12745 | |||||
* | andd subcc instructions which is used to create the 'cmp' pseudo instruction | Chris Lattner | 2004-04-07 | 1 | -1/+3 | |
| | | | | llvm-svn: 12744 | |||||
* | Avoid emitting an extra copy on each 32-bit operation | Chris Lattner | 2004-04-07 | 1 | -4/+11 | |
| | | | | llvm-svn: 12743 | |||||
* | Make generation of stack-slot loads and copies less ugly. | Brian Gaeke | 2004-04-07 | 1 | -7/+4 | |
| | | | | llvm-svn: 12742 | |||||
* | Fix bug in printing loads. | Brian Gaeke | 2004-04-07 | 1 | -4/+4 | |
| | | | | llvm-svn: 12741 | |||||
* | Add support for shift instructions, wrap some long lines | Chris Lattner | 2004-04-07 | 1 | -15/+24 | |
| | | | | llvm-svn: 12740 | |||||
* | Fix encoding of existing shift instructions, add rr shifts | Chris Lattner | 2004-04-07 | 1 | -3/+6 | |
| | | | | llvm-svn: 12739 | |||||
* | Add a bunch more instructions | Chris Lattner | 2004-04-07 | 2 | -29/+57 | |
| | | | | llvm-svn: 12737 | |||||
* | Merge my changes with brians | Chris Lattner | 2004-04-07 | 1 | -6/+5 | |
| | | | | llvm-svn: 12736 | |||||
* | Add in some things I forgot, which Chris helpfully reminded me of... | Brian Gaeke | 2004-04-07 | 1 | -2/+6 | |
| | | | | llvm-svn: 12735 | |||||
* | Add support for the "Y" register, used by MUL & DIV. | Brian Gaeke | 2004-04-07 | 1 | -0/+9 | |
| | | | | llvm-svn: 12734 | |||||
* | Add UDIV, SDIV, and a few variants of WR. | Brian Gaeke | 2004-04-07 | 1 | -0/+8 | |
| | | | | llvm-svn: 12733 | |||||
* | Preliminary support for getting 64-bit integer constants into registers. | Brian Gaeke | 2004-04-07 | 1 | -2/+27 | |
| | | | | | | | Preliminary support for division. It's gross because you have to initialize the "Y" register, which is the top 32 bits of the thing you're dividing. llvm-svn: 12732 | |||||
* | Prune unnecessary #includes | Brian Gaeke | 2004-04-06 | 1 | -12/+1 | |
| | | | | llvm-svn: 12731 | |||||
* | Simple delay slot filler pass. | Brian Gaeke | 2004-04-06 | 1 | -0/+87 | |
| | | | | llvm-svn: 12730 | |||||
* | Add references to delay slot filler pass. | Brian Gaeke | 2004-04-06 | 2 | -1/+24 | |
| | | | | | | Fill in addPassesToJITCompile method. llvm-svn: 12729 | |||||
* | First attempt at handling frame index elimination. | Brian Gaeke | 2004-04-06 | 1 | -8/+11 | |
| | | | | llvm-svn: 12728 | |||||
* | First attempt at special-casing printing of [%reg + offset] for | Brian Gaeke | 2004-04-06 | 1 | -0/+55 | |
| | | | | | | | ld/st instructions - doesn't seem to work yet, but I think it's just a typo or something somewhere. llvm-svn: 12727 | |||||
* | Delete reference to "the Mach-O Runtime ABI". | Brian Gaeke | 2004-04-06 | 1 | -2/+1 | |
| | | | | llvm-svn: 12726 | |||||
* | Deal with call return values. | Brian Gaeke | 2004-04-06 | 1 | -1/+15 | |
| | | | | | | Don't put NOPs in delay slots at all. We'll have a fix-up pass later. llvm-svn: 12725 | |||||
* | Add support for many of the MRegisterInfo callbacks. | Brian Gaeke | 2004-04-02 | 1 | -9/+48 | |
| | | | | | | | Eliminating call-frame pseudo instrs and frame indices are still stubs. Flesh out the emitPrologue method based on better ABI knowledge. llvm-svn: 12632 | |||||
* | Add load, store, and NOP instructions. | Brian Gaeke | 2004-04-02 | 1 | -2/+21 | |
| | | | | | | Fix up comments. llvm-svn: 12631 | |||||
* | Add support for printing pc-relative displacements of functions (as used in | Brian Gaeke | 2004-04-02 | 1 | -0/+6 | |
| | | | | | | the CALL instruction). llvm-svn: 12630 | |||||
* | Add support for call instructions (0-ary only for now). | Brian Gaeke | 2004-04-02 | 1 | -1/+7 | |
| | | | | llvm-svn: 12629 | |||||
* | The .type directive on Solaris uses the # character instead of @. | Brian Gaeke | 2004-03-16 | 1 | -2/+2 | |
| | | | | llvm-svn: 12454 | |||||
* | Fix bug in zero-extending of shorts. | Brian Gaeke | 2004-03-16 | 1 | -2/+2 | |
| | | | | llvm-svn: 12453 | |||||
* | Add UMULrr and SMULrr instructions. | Brian Gaeke | 2004-03-16 | 1 | -0/+4 | |
| | | | | llvm-svn: 12452 | |||||
* | Use ! for comment char; it works in both Solaris as and GAS. | Brian Gaeke | 2004-03-16 | 1 | -7/+7 | |
| | | | | llvm-svn: 12451 | |||||
* | Make getClass more robust by adding cLong. | Brian Gaeke | 2004-03-16 | 1 | -1/+7 | |
| | | | | | | Add handling for Mul instruction. llvm-svn: 12450 | |||||
* | Hmm, who left this sitting around in my tree | Brian Gaeke | 2004-03-09 | 1 | -4/+4 | |
| | | | | llvm-svn: 12255 | |||||
* | Avoid allocating special registers a bit more robustly | Chris Lattner | 2004-03-08 | 1 | -3/+11 | |
| | | | | llvm-svn: 12207 | |||||
* | Support return values of basic integer types. | Brian Gaeke | 2004-03-06 | 1 | -24/+37 | |
| | | | | | | | Emit RETL instruction to return instead of funny JMPL. Fix indentation. llvm-svn: 12186 |