Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | Added LLVM project notice to the top of every C++ source file. | John Criswell | 2003-10-20 | 1 | -0/+7 | |
| | | | | | | Header files will be on the way. llvm-svn: 9298 | |||||
* | * Rename X86::IMULr16 -> X86::IMULrr16 | Chris Lattner | 2003-10-20 | 1 | -7/+15 | |
| | | | | | | | * Implement R1 = R2 * C where R1 and R2 are 32 or 16 bits. This avoids an extra copy into a register, reducing register pressure. llvm-svn: 9278 | |||||
* | Fix typo in comment. | Brian Gaeke | 2003-10-16 | 1 | -1/+1 | |
| | | | | llvm-svn: 9187 | |||||
* | Spell `necessary' correctly. | Misha Brukman | 2003-08-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 7944 | |||||
* | addPassesToJITCompile and addPassesToEmitMachineCode now take a | Brian Gaeke | 2003-08-13 | 1 | -1/+1 | |
| | | | | | | | FunctionPassManager, to support function-at-a-time compilation and emission of code. llvm-svn: 7821 | |||||
* | This is the real fix for the previous register allocator problem. | Chris Lattner | 2003-08-05 | 1 | -1/+1 | |
| | | | | | | Physical registers should not float around. llvm-svn: 7587 | |||||
* | Set debug types | Chris Lattner | 2003-08-03 | 1 | -0/+1 | |
| | | | | llvm-svn: 7532 | |||||
* | Move DEBUG to Debug.h | Chris Lattner | 2003-08-01 | 1 | -0/+1 | |
| | | | | llvm-svn: 7497 | |||||
* | We don't modify the LLVM rep, remain const correct | Chris Lattner | 2003-07-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 7345 | |||||
* | Merged in autoconf branch. This provides configuration via the autoconf | John Criswell | 2003-06-30 | 1 | -1/+1 | |
| | | | | | | system. llvm-svn: 7014 | |||||
* | Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h", | Brian Gaeke | 2003-06-16 | 1 | -1/+1 | |
| | | | | | | | so that we can easily change its use to be conditional on the result of an autoconf test later. llvm-svn: 6723 | |||||
* | Fix warnings on Sparc | Chris Lattner | 2003-06-06 | 1 | -5/+8 | |
| | | | | llvm-svn: 6658 | |||||
* | Add statistic for # machine instrs emitted | Chris Lattner | 2003-06-06 | 1 | -1/+13 | |
| | | | | | | Add GROSS HACK to get CompilationCallback to work when compiled in release mode llvm-svn: 6646 | |||||
* | Add namespace comments for doxygen | Chris Lattner | 2003-06-03 | 1 | -2/+3 | |
| | | | | llvm-svn: 6581 | |||||
* | Eliminated a compiler warning due to casting to a different-sized datatype. | Misha Brukman | 2003-06-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 6531 | |||||
* | Renamed MachineCodeEmitter.cpp -> X86CodeEmitter.cpp as it conflicts with the | Misha Brukman | 2003-06-02 | 1 | -1/+1 | |
| | | | | | | target-independent lib/CodeGen/MachineCodeEmitter.cpp; preserved CVS history. llvm-svn: 6528 | |||||
* | Move X86 specific code out of the JIT into the X86 backend | Chris Lattner | 2003-06-01 | 1 | -13/+215 | |
| | | | | llvm-svn: 6516 | |||||
* | This blank line has GOT to go. | Chris Lattner | 2003-05-09 | 1 | -1/+0 | |
| | | | | llvm-svn: 6057 | |||||
* | IMPLICIT_DEF was not the beautiful elegant solution I thought it was going | Chris Lattner | 2003-05-07 | 1 | -1/+1 | |
| | | | | | | to be. In fact, it made stuff worse. :( llvm-svn: 6013 | |||||
* | Don't have a cow with new pseudo instructions | Chris Lattner | 2003-05-06 | 1 | -2/+3 | |
| | | | | llvm-svn: 6009 | |||||
* | Rename MachineInstrInfo -> TargetInstrInfo | Chris Lattner | 2003-01-14 | 1 | -2/+2 | |
| | | | | llvm-svn: 5272 | |||||
* | * Add support for FP registers ST* | Chris Lattner | 2003-01-13 | 1 | -20/+73 | |
| | | | | | | | | | * Add support for the constant pool & constant pool indices * Add support for MRMS?m instructions * Fix FP Prefix emission * Add support for global addresses and external symbols llvm-svn: 5224 | |||||
* | * Convert to a MachineFunctionPass | Chris Lattner | 2002-12-28 | 1 | -13/+15 | |
| | | | | | | | * ctor doesn't take TM argument * handle direct ESP references correctly! llvm-svn: 5179 | |||||
* | Add support for FP prefixes | Chris Lattner | 2002-12-25 | 1 | -4/+19 | |
| | | | | llvm-svn: 5151 | |||||
* | Add support for the bswap instruction | Chris Lattner | 2002-12-23 | 1 | -1/+2 | |
| | | | | llvm-svn: 5114 | |||||
* | fix warning | Chris Lattner | 2002-12-20 | 1 | -0/+1 | |
| | | | | llvm-svn: 5107 | |||||
* | Give passes nice names! | Chris Lattner | 2002-12-15 | 1 | -0/+4 | |
| | | | | llvm-svn: 5059 | |||||
* | Use MachineOperand::isFoo methods instead of our own global functions | Chris Lattner | 2002-12-15 | 1 | -8/+1 | |
| | | | | llvm-svn: 5033 |