Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Don't special case XS, XD prefixes. | Evan Cheng | 2006-02-14 | 1 | -14/+9 | |
| | | | | llvm-svn: 26183 | |||||
* | Bug fix: XS, XD prefixes were being emitted twice. | Evan Cheng | 2006-02-14 | 1 | -9/+9 | |
| | | | | | | XMM registers were not being handled. llvm-svn: 26182 | |||||
* | - Use xor to clear integer registers (set R, 0). | Evan Cheng | 2006-02-01 | 1 | -1/+6 | |
| | | | | | | | | - Added a new format for instructions where the source register is implied and it is same as the destination register. Used for pseudo instructions that clear the destination register. llvm-svn: 25872 | |||||
* | Fix a bunch of JIT failures with the new isel | Chris Lattner | 2006-01-28 | 1 | -4/+15 | |
| | | | | llvm-svn: 25748 | |||||
* | Unbreak the JIT with SSE | Chris Lattner | 2006-01-27 | 1 | -0/+8 | |
| | | | | llvm-svn: 25688 | |||||
* | Allow jit-beta to work | Chris Lattner | 2006-01-24 | 1 | -1/+0 | |
| | | | | llvm-svn: 25578 | |||||
* | Add explicit #includes of <iostream> | Chris Lattner | 2006-01-22 | 1 | -0/+1 | |
| | | | | llvm-svn: 25515 | |||||
* | Refactor things a bit to allow the ELF code emitter to run the X86 machine ↵ | Chris Lattner | 2005-07-11 | 1 | -12/+4 | |
| | | | | | | | | code emitter after itself. llvm-svn: 22376 | |||||
* | First round of support for doing scalar FP using the SSE2 ISA extension and | Nate Begeman | 2005-07-06 | 1 | -2/+12 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XMM registers. There are many known deficiencies and fixmes, which will be addressed ASAP. The major benefit of this work is that it will allow the LLVM register allocator to allocate FP registers across basic blocks. The x86 backend will still default to x87 style FP. To enable this work, you must pass -enable-sse-scalar-fp and either -sse2 or -sse3 to llc. An example before and after would be for: double foo(double *P) { double Sum = 0; int i; for (i = 0; i < 1000; ++i) Sum += P[i]; return Sum; } The inner loop looks like the following: x87: .LBB_foo_1: # no_exit fldl (%esp) faddl (%eax,%ecx,8) fstpl (%esp) incl %ecx cmpl $1000, %ecx #FP_REG_KILL jne .LBB_foo_1 # no_exit SSE2: addsd (%eax,%ecx,8), %xmm0 incl %ecx cmpl $1000, %ecx #FP_REG_KILL jne .LBB_foo_1 # no_exit llvm-svn: 22340 | |||||
* | Tailcalls require stubs to be emitted. Otherwise, the compilation callback | Chris Lattner | 2005-05-19 | 1 | -8/+15 | |
| | | | | | | doesn't know who 'called' it. llvm-svn: 22136 | |||||
* | * Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -4/+4 | |
| | | | | | | * Convert tabs to spaces llvm-svn: 21426 | |||||
* | There is no reason to emit function stubs for direct calls. | Chris Lattner | 2004-11-21 | 1 | -1/+1 | |
| | | | | llvm-svn: 18082 | |||||
* | Remove all JIT specific code and switch the code generator over to emitting | Chris Lattner | 2004-11-20 | 1 | -194/+26 | |
| | | | | | | relocations for global references. llvm-svn: 18068 | |||||
* | Dont' forget to switch back to decimal output | Chris Lattner | 2004-11-19 | 1 | -1/+2 | |
| | | | | llvm-svn: 18010 | |||||
* | Fix a major bug in the signed shr code, which apparently only breaks 134.perl! | Chris Lattner | 2004-11-16 | 1 | -1/+2 | |
| | | | | llvm-svn: 17902 | |||||
* | Remove a dead function, which died when we got GAS emission working (phwew, | Chris Lattner | 2004-11-16 | 1 | -8/+0 | |
| | | | | | | hold your nose!) llvm-svn: 17869 | |||||
* | Implement a simple FIXME: if we are emitting a basic block address that has | Chris Lattner | 2004-11-16 | 1 | -3/+13 | |
| | | | | | | | already been emitted, we don't have to remember it and deal with it later, just emit it directly. llvm-svn: 17868 | |||||
* | * Merge some win32 ifdefs together | Chris Lattner | 2004-11-16 | 1 | -22/+17 | |
| | | | | | | | | * Get rid of "emitMaybePCRelativeValue", either we want to emit a PC relative value or not: drop the maybe BS. As it turns out, the only places where the bool was a variable coming in, the bool was a dynamic constant. llvm-svn: 17867 | |||||
* | Add debug-only=jit printout, so we see when lazily resolved symbols are | Chris Lattner | 2004-11-15 | 1 | -0/+2 | |
| | | | | | | set up. llvm-svn: 17862 | |||||
* | Fix compilation problem; make the cast and the LHS be the same type. | John Criswell | 2004-11-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 17488 | |||||
* | Quiet VC++ warnings | Chris Lattner | 2004-11-05 | 1 | -2/+2 | |
| | | | | llvm-svn: 17484 | |||||
* | Improve compatibility with VC++, patch contributed by Morten Ofstad! | Chris Lattner | 2004-10-18 | 1 | -0/+17 | |
| | | | | llvm-svn: 17126 | |||||
* | Unify handling of constant pool indexes with the other code paths, allowing | Chris Lattner | 2004-10-17 | 1 | -17/+17 | |
| | | | | | | us to use index registers for CPI's llvm-svn: 17082 | |||||
* | Give the X86 JIT the ability to encode global+disp constants. Patch | Chris Lattner | 2004-10-15 | 1 | -27/+54 | |
| | | | | | | contributed by Jeff Cohen! llvm-svn: 17010 | |||||
* | Fix filename: Printer.cpp has become X86AsmPrinter.cpp | Misha Brukman | 2004-09-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 16299 | |||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -3/+3 | |
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137 | |||||
* | Remove dead method | Chris Lattner | 2004-08-11 | 1 | -13/+0 | |
| | | | | llvm-svn: 15647 | |||||
* | Make sure to emit the immediate byte for instructions like: | Chris Lattner | 2004-07-17 | 1 | -0/+2 | |
| | | | | | | | | shrd [mem], reg, imm This fixes the jit-ls failure on 186.crafty. llvm-svn: 14914 | |||||
* | Convert to the new TargetMachine interface. | Chris Lattner | 2004-06-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 13952 | |||||
* | Don't keep track of references to LLVM BasicBlocks while emitting; use | Brian Gaeke | 2004-05-14 | 1 | -11/+9 | |
| | | | | | | MachineBasicBlocks instead. llvm-svn: 13568 | |||||
* | Use emitWordAt() to emit forward-branch fixups. | Brian Gaeke | 2004-04-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 13120 | |||||
* | Add support for new instruction type | Chris Lattner | 2004-04-13 | 1 | -0/+2 | |
| | | | | llvm-svn: 12894 | |||||
* | Add emitInstruction() API so that we can get the bytes of a simple instruction | Alkis Evlogimenos | 2004-03-09 | 1 | -3/+13 | |
| | | | | llvm-svn: 12252 | |||||
* | Constify things a bit | Alkis Evlogimenos | 2004-03-09 | 1 | -9/+9 | |
| | | | | llvm-svn: 12251 | |||||
* | Each instruction now has both an ImmType and a MemType. This describes | Alkis Evlogimenos | 2004-02-28 | 1 | -33/+37 | |
| | | | | | | | | the size of the immediate and the memory operand on instructions that use them. This resolves problems with instructions that take both a memory and an immediate operand but their sizes differ (i.e. ADDmi32b). llvm-svn: 11967 | |||||
* | Rename MRMS[0-7]{r,m} to MRM[0-7]{r,m}. | Alkis Evlogimenos | 2004-02-27 | 1 | -10/+10 | |
| | | | | llvm-svn: 11921 | |||||
* | Add support for GlobalAddress's for alkis | Chris Lattner | 2004-02-17 | 1 | -1/+6 | |
| | | | | llvm-svn: 11560 | |||||
* | Expand the repertoire of the forms we can print and encode. | Chris Lattner | 2004-02-17 | 1 | -2/+3 | |
| | | | | llvm-svn: 11537 | |||||
* | Make dense maps keyed on physical registers smallerusing | Alkis Evlogimenos | 2004-02-15 | 1 | -1/+1 | |
| | | | | | | | | | | MRegisterInfo::getNumRegs() instead of MRegisterInfo::FirstVirtualRegister. Also use MRegisterInfo::is{Physical,Virtual}Register where appropriate. llvm-svn: 11477 | |||||
* | Add back machine code deleter pass until we get a MachineCode pass | Alkis Evlogimenos | 2004-02-15 | 1 | -0/+2 | |
| | | | | | | | that will be responsible for the creation of MachineFunctions and will be required by all MachineFunctionPass passes. llvm-svn: 11453 | |||||
* | Add support for the rep movs[bwd] instructions, and emit them when code | Chris Lattner | 2004-02-12 | 1 | -0/+4 | |
| | | | | | | generating the llvm.memcpy intrinsic. llvm-svn: 11351 | |||||
* | Change MachineBasicBlock's vector of MachineInstr pointers into an | Alkis Evlogimenos | 2004-02-12 | 1 | -3/+1 | |
| | | | | | | | | | ilist of MachineInstr objects. This allows constant time removal and insertion of MachineInstr instances from anywhere in each MachineBasicBlock. It also allows for constant time splicing of MachineInstrs into or out of MachineBasicBlocks. llvm-svn: 11340 | |||||
* | Modify the two address instruction pass to remove the duplicate | Alkis Evlogimenos | 2004-02-04 | 1 | -15/+7 | |
| | | | | | | operand of the instruction and thus simplify the register allocation. llvm-svn: 11124 | |||||
* | Remove floating point killer pass. This is now implemented in the | Alkis Evlogimenos | 2003-12-20 | 1 | -1/+3 | |
| | | | | | | | | | | instruction selector by adding a new pseudo-instruction FP_REG_KILL. This instruction implicitly defines all x86 fp registers and is a terminator so that passes which add machine code at the end of basic blocks (like phi elimination) do not add instructions between it and the branch or return instruction. llvm-svn: 10562 | |||||
* | Finally, _actually delete the machine code_ for a function, after it has | Chris Lattner | 2003-12-20 | 1 | -0/+3 | |
| | | | | | | | been emitted. Also, since the FPK pass is causing memory access violations, disable it. llvm-svn: 10559 | |||||
* | A minor cleanup for better encapsulation | Chris Lattner | 2003-12-20 | 1 | -12/+13 | |
| | | | | llvm-svn: 10545 | |||||
* | Rip JIT specific stuff out of TargetMachine, as per PR176 | Chris Lattner | 2003-12-20 | 1 | -2/+10 | |
| | | | | llvm-svn: 10542 | |||||
* | Modified cast so that it converts the int to a long before casting to | John Criswell | 2003-12-12 | 1 | -1/+1 | |
| | | | | | | | a pointer. This evades a warning emitted by GCC when we cast from unsigned int (32 bit) to void * (64 bit) on SparcV9. llvm-svn: 10435 | |||||
* | Implement the TargetMachine::getJITStubForFunction method for X86, finegrainify | Chris Lattner | 2003-12-12 | 1 | -4/+7 | |
| | | | | | | namespacification. llvm-svn: 10430 | |||||
* | Put all LLVM code into the llvm namespace, as per bug 109. | Brian Gaeke | 2003-11-11 | 1 | -0/+4 | |
| | | | | llvm-svn: 9903 |