summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SparcV8
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix bug generating code for void call instructions: don't callBrian Gaeke2004-06-151-2/+2
| | | | | | getReg() on void value. llvm-svn: 14178
* Squash a warning from the Solaris assembler by aligning the stackBrian Gaeke2004-06-151-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. PrintBrian Gaeke2004-06-151-18/+28
| | | | | | | non-register, non-immed. arguments to SETHI and OR using %hi() and %lo() respectively. llvm-svn: 14176
* Support constant GEP expressions.Brian Gaeke2004-06-151-21/+52
| | | | | | | Support copying long constants to register pairs. Support copying ConstantPointerNulls and ConstantPointerRefs to registers. llvm-svn: 14175
* Adjust to new TM interfacesChris Lattner2004-06-022-6/+3
| | | | llvm-svn: 13949
* Add support for widening integral casts.Brian Gaeke2004-05-081-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 branchesBrian Gaeke2004-05-081-4/+12
| | | | llvm-svn: 13422
* Flesh out GEP supportBrian Gaeke2004-05-081-3/+53
| | | | llvm-svn: 13421
* Add ADD with immediateBrian Gaeke2004-05-081-0/+1
| | | | llvm-svn: 13420
* Add forms of CMP, SUBCC, and a few branches, and some comments.Brian Gaeke2004-05-081-0/+13
| | | | llvm-svn: 13419
* Add stub support for GEPs.Brian Gaeke2004-05-081-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 Gaeke2004-05-071-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 Gaeke2004-04-132-2/+2
| | | | llvm-svn: 12905
* I started working on casts, but I don't have anything compilable yet.Brian Gaeke2004-04-131-0/+11
| | | | llvm-svn: 12903
* Don't print [%reg + 0], just print [%reg]Brian Gaeke2004-04-071-2/+4
| | | | llvm-svn: 12759
* First version of code to handle loads. Stub function for handling stores.Brian Gaeke2004-04-071-1/+39
| | | | llvm-svn: 12758
* Support loading arguments from %I0...%I5 into virtual registers inBrian Gaeke2004-04-071-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'sBrian Gaeke2004-04-071-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, weChris Lattner2004-04-071-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 instructionChris Lattner2004-04-071-1/+3
| | | | llvm-svn: 12744
* Avoid emitting an extra copy on each 32-bit operationChris Lattner2004-04-071-4/+11
| | | | llvm-svn: 12743
* Make generation of stack-slot loads and copies less ugly.Brian Gaeke2004-04-071-7/+4
| | | | llvm-svn: 12742
* Fix bug in printing loads.Brian Gaeke2004-04-071-4/+4
| | | | llvm-svn: 12741
* Add support for shift instructions, wrap some long linesChris Lattner2004-04-071-15/+24
| | | | llvm-svn: 12740
* Fix encoding of existing shift instructions, add rr shiftsChris Lattner2004-04-071-3/+6
| | | | llvm-svn: 12739
* Add a bunch more instructionsChris Lattner2004-04-072-29/+57
| | | | llvm-svn: 12737
* Merge my changes with briansChris Lattner2004-04-071-6/+5
| | | | llvm-svn: 12736
* Add in some things I forgot, which Chris helpfully reminded me of...Brian Gaeke2004-04-071-2/+6
| | | | llvm-svn: 12735
* Add support for the "Y" register, used by MUL & DIV.Brian Gaeke2004-04-071-0/+9
| | | | llvm-svn: 12734
* Add UDIV, SDIV, and a few variants of WR.Brian Gaeke2004-04-071-0/+8
| | | | llvm-svn: 12733
* Preliminary support for getting 64-bit integer constants into registers.Brian Gaeke2004-04-071-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 #includesBrian Gaeke2004-04-061-12/+1
| | | | llvm-svn: 12731
* Simple delay slot filler pass.Brian Gaeke2004-04-061-0/+87
| | | | llvm-svn: 12730
* Add references to delay slot filler pass.Brian Gaeke2004-04-062-1/+24
| | | | | | Fill in addPassesToJITCompile method. llvm-svn: 12729
* First attempt at handling frame index elimination.Brian Gaeke2004-04-061-8/+11
| | | | llvm-svn: 12728
* First attempt at special-casing printing of [%reg + offset] forBrian Gaeke2004-04-061-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 Gaeke2004-04-061-2/+1
| | | | llvm-svn: 12726
* Deal with call return values.Brian Gaeke2004-04-061-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 Gaeke2004-04-021-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 Gaeke2004-04-021-2/+21
| | | | | | Fix up comments. llvm-svn: 12631
* Add support for printing pc-relative displacements of functions (as used inBrian Gaeke2004-04-021-0/+6
| | | | | | the CALL instruction). llvm-svn: 12630
* Add support for call instructions (0-ary only for now).Brian Gaeke2004-04-021-1/+7
| | | | llvm-svn: 12629
* The .type directive on Solaris uses the # character instead of @.Brian Gaeke2004-03-161-2/+2
| | | | llvm-svn: 12454
* Fix bug in zero-extending of shorts.Brian Gaeke2004-03-161-2/+2
| | | | llvm-svn: 12453
* Add UMULrr and SMULrr instructions.Brian Gaeke2004-03-161-0/+4
| | | | llvm-svn: 12452
* Use ! for comment char; it works in both Solaris as and GAS.Brian Gaeke2004-03-161-7/+7
| | | | llvm-svn: 12451
* Make getClass more robust by adding cLong.Brian Gaeke2004-03-161-1/+7
| | | | | | Add handling for Mul instruction. llvm-svn: 12450
* Hmm, who left this sitting around in my treeBrian Gaeke2004-03-091-4/+4
| | | | llvm-svn: 12255
* Avoid allocating special registers a bit more robustlyChris Lattner2004-03-081-3/+11
| | | | llvm-svn: 12207
* Support return values of basic integer types.Brian Gaeke2004-03-061-24/+37
| | | | | | | Emit RETL instruction to return instead of funny JMPL. Fix indentation. llvm-svn: 12186
OpenPOWER on IntegriCloud