summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SparcV8
Commit message (Collapse)AuthorAgeFilesLines
...
* Auto-registrate targetChris Lattner2004-07-111-0/+6
| | | | llvm-svn: 14745
* Support setcc on fp values.Brian Gaeke2004-07-081-12/+21
| | | | llvm-svn: 14687
* Add floating-point branches and compares. Compares don't completeBrian Gaeke2004-07-082-0/+52
| | | | | | | until the next cycle, and there's no interlock, so they effectively have a delay slot. llvm-svn: 14686
* Fix bug where SwitchSection would fail to change to ".bss" successfully.Brian Gaeke2004-07-081-1/+1
| | | | llvm-svn: 14685
* Fix bug involving bool arguments to binary operators.Brian Gaeke2004-07-081-2/+2
| | | | | | Fix typo in comment. llvm-svn: 14684
* Fix bug in copying long constants to register pairs. We were gettingBrian Gaeke2004-07-081-2/+17
| | | | | | | | the top and bottom halves backwards...how embarrassing. Support 'cast long to long' and other similar no-op casts to long. Support 'ret long'. llvm-svn: 14683
* Support 'ret float'Brian Gaeke2004-07-081-0/+3
| | | | llvm-svn: 14681
* Add #includesChris Lattner2004-07-043-0/+3
| | | | llvm-svn: 14625
* Fix potential problems with unreachable basic blocks.Chris Lattner2004-07-021-0/+10
| | | | | | | Also, while noone's looking, add support for constant expressions. Wait, I said not to look! llvm-svn: 14566
* Fix indentation to be 2 spaces.Misha Brukman2004-06-301-8/+8
| | | | llvm-svn: 14512
* visitSetCondInst() takes a parameter of type `SetCondInst'Misha Brukman2004-06-301-2/+2
| | | | llvm-svn: 14508
* Allow saving and restoring of double and float registers.Brian Gaeke2004-06-271-9/+27
| | | | | | Allow copying of float registers. llvm-svn: 14445
* Add FITOS, FITOD, and F{ADD,SUB,MUL,DIV}{S,D}.Brian Gaeke2004-06-271-0/+16
| | | | llvm-svn: 14444
* Support printing constant pool indices.Brian Gaeke2004-06-271-1/+4
| | | | | | If we see an "unknown operand", abort so it's easier to fix it. llvm-svn: 14441
* Trim whitespace.Brian Gaeke2004-06-271-13/+56
| | | | | | | | | | Support cast of ints (and narrower) to float and double. Support cast double to double (using load and store). Abort if we see a CallInst or SetCondInst with long/fp args, instead of producing bad code. Support add, sub, mul, div of float and double. llvm-svn: 14440
* * LowercaseString moved to StringExtras.hMisha Brukman2004-06-241-10/+2
| | | | | | * Wrap long line to 80 cols llvm-svn: 14382
* Add FSTOD and FDTOS conversion instructions.Brian Gaeke2004-06-241-0/+5
| | | | llvm-svn: 14372
* Support cast float to float, cast double to float, and cast float to double.Brian Gaeke2004-06-241-10/+27
| | | | | | (It's not yet clear how to copy doubles from register to register.) llvm-svn: 14371
* Make the double-fp pseudo registers be "NamedRegs".Brian Gaeke2004-06-241-5/+8
| | | | llvm-svn: 14366
* Fix a dyn_cast in copyConstantToRegister which should have been a cast.Brian Gaeke2004-06-241-19/+16
| | | | | | Compactify the code that emits copies of constant ints into registers. llvm-svn: 14365
* The long integer pseudo-regs are history. So long, we hardly knew ye.Brian Gaeke2004-06-242-31/+1
| | | | llvm-svn: 14364
* Use correct add*Imm form in more BuildMI calls.Brian Gaeke2004-06-241-18/+26
| | | | | | | | | | Fix bug in emitGEPOperation where we weren't passing MBB, IP to getReg. (hey, wouldn't a constant expression lowering pass be cool? huh huhuhuh) Fix bug in emitGEPOperation where we might try to OR a constant into a register which was too big to fit in the immediate field. Support and, or, xor of longs. llvm-svn: 14363
* Rename the load and store opcodes. The non-fp ones only have oneBrian Gaeke2004-06-242-12/+20
| | | | | | variant worth worrying about; the fp ones have two. llvm-svn: 14362
* Rename the load and store opcodes. The non-fp ones only have oneBrian Gaeke2004-06-241-13/+26
| | | | | | | variant worth worrying about; the fp ones have two. Add fp stores. llvm-svn: 14361
* Rename the load and store opcodes. The non-fp ones only have oneBrian Gaeke2004-06-241-16/+40
| | | | | | | | | variant worth worrying about; the fp ones have two. Stub out the case analysis of int-to-fp casts (no code yet). I think the number of operands passed to BuildMI for loads was wrong. Support load and store of float and double. llvm-svn: 14360
* Strange as it may sound, we'll not use LDD/STD to store longs. For reasons ofBrian Gaeke2004-06-241-2/+4
| | | | | | | representational consistency, we want to address the halves of each 64-bit value separately. llvm-svn: 14356
* Support constant cast expressions.Brian Gaeke2004-06-241-17/+43
| | | | llvm-svn: 14355
* Add pseudo-registers and register class for 64-bit integer values.Brian Gaeke2004-06-222-2/+31
| | | | llvm-svn: 14332
* Order #includes as per style guide.Misha Brukman2004-06-211-1/+1
| | | | llvm-svn: 14305
* Move the IntrinsicLowering header into the CodeGen directory, as per PR346Chris Lattner2004-06-201-1/+1
| | | | llvm-svn: 14266
* .zero doesn't work in the Solaris assembler.Brian Gaeke2004-06-181-5/+2
| | | | llvm-svn: 14231
* Get rid of selects the easy wayBrian Gaeke2004-06-181-0/+6
| | | | llvm-svn: 14230
* Make visitAllocaInst() look more like its X86 counterpart.Brian Gaeke2004-06-181-3/+11
| | | | llvm-svn: 14229
* Mess around with allocation order. In particular, I think we ought to beBrian Gaeke2004-06-181-3/+3
| | | | | | using the local & in regs first because they are not clobbered by calls. llvm-svn: 14228
* JMPL has a delay slot.Brian Gaeke2004-06-181-0/+1
| | | | llvm-svn: 14227
* Clean up the commented-out F3_3 stuff.Brian Gaeke2004-06-181-5/+4
| | | | | | Replace it with a working class for FP instrs. llvm-svn: 14226
* Fix jmpl.Brian Gaeke2004-06-181-3/+7
| | | | | | Add some FP moves. llvm-svn: 14225
* Support printing base+offset pairs where the offset is a register.Brian Gaeke2004-06-181-10/+25
| | | | | | Use this for printing the jmpl indirect-call instruction. llvm-svn: 14224
* Support intrinsic calls (although no particular intrinsics are supported yet).Brian Gaeke2004-06-181-4/+22
| | | | | | | Support indirect calls. Support returning a float value. llvm-svn: 14223
* Add load instructions for floating-point registers.Brian Gaeke2004-06-181-0/+5
| | | | llvm-svn: 14217
* Support alloca instructions.Brian Gaeke2004-06-181-0/+32
| | | | | | | Support copying floating-point constants to registers. Add assertion to visitCallInst to abort if we hit a NULL calledFunction, for now. llvm-svn: 14216
* Make storeRegToStackSlot slightly shorter.Brian Gaeke2004-06-171-7/+7
| | | | | | | Make copyRegToReg return 1 instead of -1. Edit a comment in emitPrologue(). llvm-svn: 14211
* Set the isBranch and isTerminator flags on branch instructions correctly.Brian Gaeke2004-06-171-12/+19
| | | | | | Add a FIXME about the (currently unused) JMPL instructions. llvm-svn: 14210
* Emit stores correctly; don't fail an assertion.Brian Gaeke2004-06-171-3/+3
| | | | llvm-svn: 14209
* Support generating machine instructions for Phi nodes (based on x86, but withBrian Gaeke2004-06-171-52/+178
| | | | | | | | | | | modifications for 1 LLVM BB --> many MBBs). Fix store operand order: make it always be Base, Offset, SrcReg (think "[ Base + Offset ] = SrcReg"). Rewrite visitBranchInst() to be even dumber (but working) -- give up on the branch fallthrough trick, for the time being. Make visitSetCondInst() work. llvm-svn: 14208
* Recognize more branches.Brian Gaeke2004-06-171-0/+11
| | | | llvm-svn: 14207
* Use addGlobalAddress and addMBB for call & branch targets instead of addPCDisp.Brian Gaeke2004-06-172-19/+18
| | | | | | | Abort if we see a PCRelativeDisp MachineOperand, to be safe. This matches the X86 backend. llvm-svn: 14202
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-173-4/+4
| | | | llvm-svn: 14201
* Fix thinko in visitor... ShiftInsts should currently be delegatedBrian Gaeke2004-06-151-1/+2
| | | | | | to visitBinaryOperator. llvm-svn: 14182
* I think we'll use the standard lowering passes for now.Brian Gaeke2004-06-151-0/+25
| | | | llvm-svn: 14179
OpenPOWER on IntegriCloud