Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Auto-registrate target | Chris Lattner | 2004-07-11 | 1 | -0/+6 | |
| | | | | llvm-svn: 14745 | |||||
* | Support setcc on fp values. | Brian Gaeke | 2004-07-08 | 1 | -12/+21 | |
| | | | | llvm-svn: 14687 | |||||
* | Add floating-point branches and compares. Compares don't complete | Brian Gaeke | 2004-07-08 | 2 | -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 Gaeke | 2004-07-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 14685 | |||||
* | Fix bug involving bool arguments to binary operators. | Brian Gaeke | 2004-07-08 | 1 | -2/+2 | |
| | | | | | | Fix typo in comment. llvm-svn: 14684 | |||||
* | Fix bug in copying long constants to register pairs. We were getting | Brian Gaeke | 2004-07-08 | 1 | -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 Gaeke | 2004-07-08 | 1 | -0/+3 | |
| | | | | llvm-svn: 14681 | |||||
* | Add #includes | Chris Lattner | 2004-07-04 | 3 | -0/+3 | |
| | | | | llvm-svn: 14625 | |||||
* | Fix potential problems with unreachable basic blocks. | Chris Lattner | 2004-07-02 | 1 | -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 Brukman | 2004-06-30 | 1 | -8/+8 | |
| | | | | llvm-svn: 14512 | |||||
* | visitSetCondInst() takes a parameter of type `SetCondInst' | Misha Brukman | 2004-06-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 14508 | |||||
* | Allow saving and restoring of double and float registers. | Brian Gaeke | 2004-06-27 | 1 | -9/+27 | |
| | | | | | | Allow copying of float registers. llvm-svn: 14445 | |||||
* | Add FITOS, FITOD, and F{ADD,SUB,MUL,DIV}{S,D}. | Brian Gaeke | 2004-06-27 | 1 | -0/+16 | |
| | | | | llvm-svn: 14444 | |||||
* | Support printing constant pool indices. | Brian Gaeke | 2004-06-27 | 1 | -1/+4 | |
| | | | | | | If we see an "unknown operand", abort so it's easier to fix it. llvm-svn: 14441 | |||||
* | Trim whitespace. | Brian Gaeke | 2004-06-27 | 1 | -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.h | Misha Brukman | 2004-06-24 | 1 | -10/+2 | |
| | | | | | | * Wrap long line to 80 cols llvm-svn: 14382 | |||||
* | Add FSTOD and FDTOS conversion instructions. | Brian Gaeke | 2004-06-24 | 1 | -0/+5 | |
| | | | | llvm-svn: 14372 | |||||
* | Support cast float to float, cast double to float, and cast float to double. | Brian Gaeke | 2004-06-24 | 1 | -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 Gaeke | 2004-06-24 | 1 | -5/+8 | |
| | | | | llvm-svn: 14366 | |||||
* | Fix a dyn_cast in copyConstantToRegister which should have been a cast. | Brian Gaeke | 2004-06-24 | 1 | -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 Gaeke | 2004-06-24 | 2 | -31/+1 | |
| | | | | llvm-svn: 14364 | |||||
* | Use correct add*Imm form in more BuildMI calls. | Brian Gaeke | 2004-06-24 | 1 | -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 one | Brian Gaeke | 2004-06-24 | 2 | -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 one | Brian Gaeke | 2004-06-24 | 1 | -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 one | Brian Gaeke | 2004-06-24 | 1 | -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 of | Brian Gaeke | 2004-06-24 | 1 | -2/+4 | |
| | | | | | | | representational consistency, we want to address the halves of each 64-bit value separately. llvm-svn: 14356 | |||||
* | Support constant cast expressions. | Brian Gaeke | 2004-06-24 | 1 | -17/+43 | |
| | | | | llvm-svn: 14355 | |||||
* | Add pseudo-registers and register class for 64-bit integer values. | Brian Gaeke | 2004-06-22 | 2 | -2/+31 | |
| | | | | llvm-svn: 14332 | |||||
* | Order #includes as per style guide. | Misha Brukman | 2004-06-21 | 1 | -1/+1 | |
| | | | | llvm-svn: 14305 | |||||
* | Move the IntrinsicLowering header into the CodeGen directory, as per PR346 | Chris Lattner | 2004-06-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 14266 | |||||
* | .zero doesn't work in the Solaris assembler. | Brian Gaeke | 2004-06-18 | 1 | -5/+2 | |
| | | | | llvm-svn: 14231 | |||||
* | Get rid of selects the easy way | Brian Gaeke | 2004-06-18 | 1 | -0/+6 | |
| | | | | llvm-svn: 14230 | |||||
* | Make visitAllocaInst() look more like its X86 counterpart. | Brian Gaeke | 2004-06-18 | 1 | -3/+11 | |
| | | | | llvm-svn: 14229 | |||||
* | Mess around with allocation order. In particular, I think we ought to be | Brian Gaeke | 2004-06-18 | 1 | -3/+3 | |
| | | | | | | using the local & in regs first because they are not clobbered by calls. llvm-svn: 14228 | |||||
* | JMPL has a delay slot. | Brian Gaeke | 2004-06-18 | 1 | -0/+1 | |
| | | | | llvm-svn: 14227 | |||||
* | Clean up the commented-out F3_3 stuff. | Brian Gaeke | 2004-06-18 | 1 | -5/+4 | |
| | | | | | | Replace it with a working class for FP instrs. llvm-svn: 14226 | |||||
* | Fix jmpl. | Brian Gaeke | 2004-06-18 | 1 | -3/+7 | |
| | | | | | | Add some FP moves. llvm-svn: 14225 | |||||
* | Support printing base+offset pairs where the offset is a register. | Brian Gaeke | 2004-06-18 | 1 | -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 Gaeke | 2004-06-18 | 1 | -4/+22 | |
| | | | | | | | Support indirect calls. Support returning a float value. llvm-svn: 14223 | |||||
* | Add load instructions for floating-point registers. | Brian Gaeke | 2004-06-18 | 1 | -0/+5 | |
| | | | | llvm-svn: 14217 | |||||
* | Support alloca instructions. | Brian Gaeke | 2004-06-18 | 1 | -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 Gaeke | 2004-06-17 | 1 | -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 Gaeke | 2004-06-17 | 1 | -12/+19 | |
| | | | | | | Add a FIXME about the (currently unused) JMPL instructions. llvm-svn: 14210 | |||||
* | Emit stores correctly; don't fail an assertion. | Brian Gaeke | 2004-06-17 | 1 | -3/+3 | |
| | | | | llvm-svn: 14209 | |||||
* | Support generating machine instructions for Phi nodes (based on x86, but with | Brian Gaeke | 2004-06-17 | 1 | -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 Gaeke | 2004-06-17 | 1 | -0/+11 | |
| | | | | llvm-svn: 14207 | |||||
* | Use addGlobalAddress and addMBB for call & branch targets instead of addPCDisp. | Brian Gaeke | 2004-06-17 | 2 | -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 Lattner | 2004-06-17 | 3 | -4/+4 | |
| | | | | llvm-svn: 14201 | |||||
* | Fix thinko in visitor... ShiftInsts should currently be delegated | Brian Gaeke | 2004-06-15 | 1 | -1/+2 | |
| | | | | | | to visitBinaryOperator. llvm-svn: 14182 | |||||
* | I think we'll use the standard lowering passes for now. | Brian Gaeke | 2004-06-15 | 1 | -0/+25 | |
| | | | | llvm-svn: 14179 |