summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86CodeEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert to the new TargetMachine interface.Chris Lattner2004-06-021-1/+1
| | | | llvm-svn: 13952
* Don't keep track of references to LLVM BasicBlocks while emitting; useBrian Gaeke2004-05-141-11/+9
| | | | | | MachineBasicBlocks instead. llvm-svn: 13568
* Use emitWordAt() to emit forward-branch fixups.Brian Gaeke2004-04-231-1/+1
| | | | llvm-svn: 13120
* Add support for new instruction typeChris Lattner2004-04-131-0/+2
| | | | llvm-svn: 12894
* Add emitInstruction() API so that we can get the bytes of a simple instructionAlkis Evlogimenos2004-03-091-3/+13
| | | | llvm-svn: 12252
* Constify things a bitAlkis Evlogimenos2004-03-091-9/+9
| | | | llvm-svn: 12251
* Each instruction now has both an ImmType and a MemType. This describesAlkis Evlogimenos2004-02-281-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 Evlogimenos2004-02-271-10/+10
| | | | llvm-svn: 11921
* Add support for GlobalAddress's for alkisChris Lattner2004-02-171-1/+6
| | | | llvm-svn: 11560
* Expand the repertoire of the forms we can print and encode.Chris Lattner2004-02-171-2/+3
| | | | llvm-svn: 11537
* Make dense maps keyed on physical registers smallerusingAlkis Evlogimenos2004-02-151-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 passAlkis Evlogimenos2004-02-151-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 codeChris Lattner2004-02-121-0/+4
| | | | | | generating the llvm.memcpy intrinsic. llvm-svn: 11351
* Change MachineBasicBlock's vector of MachineInstr pointers into anAlkis Evlogimenos2004-02-121-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 duplicateAlkis Evlogimenos2004-02-041-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 theAlkis Evlogimenos2003-12-201-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 hasChris Lattner2003-12-201-0/+3
| | | | | | | been emitted. Also, since the FPK pass is causing memory access violations, disable it. llvm-svn: 10559
* A minor cleanup for better encapsulationChris Lattner2003-12-201-12/+13
| | | | llvm-svn: 10545
* Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner2003-12-201-2/+10
| | | | llvm-svn: 10542
* Modified cast so that it converts the int to a long before casting toJohn Criswell2003-12-121-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, finegrainifyChris Lattner2003-12-121-4/+7
| | | | | | namespacification. llvm-svn: 10430
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* * Rename X86::IMULr16 -> X86::IMULrr16Chris Lattner2003-10-201-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 Gaeke2003-10-161-1/+1
| | | | llvm-svn: 9187
* Spell `necessary' correctly.Misha Brukman2003-08-181-1/+1
| | | | llvm-svn: 7944
* addPassesToJITCompile and addPassesToEmitMachineCode now take aBrian Gaeke2003-08-131-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 Lattner2003-08-051-1/+1
| | | | | | Physical registers should not float around. llvm-svn: 7587
* Set debug typesChris Lattner2003-08-031-0/+1
| | | | llvm-svn: 7532
* Move DEBUG to Debug.hChris Lattner2003-08-011-0/+1
| | | | llvm-svn: 7497
* We don't modify the LLVM rep, remain const correctChris Lattner2003-07-261-2/+2
| | | | llvm-svn: 7345
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-301-1/+1
| | | | | | system. llvm-svn: 7014
* Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",Brian Gaeke2003-06-161-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 SparcChris Lattner2003-06-061-5/+8
| | | | llvm-svn: 6658
* Add statistic for # machine instrs emittedChris Lattner2003-06-061-1/+13
| | | | | | Add GROSS HACK to get CompilationCallback to work when compiled in release mode llvm-svn: 6646
* Add namespace comments for doxygenChris Lattner2003-06-031-2/+3
| | | | llvm-svn: 6581
* Eliminated a compiler warning due to casting to a different-sized datatype.Misha Brukman2003-06-021-1/+1
| | | | llvm-svn: 6531
* Renamed MachineCodeEmitter.cpp -> X86CodeEmitter.cpp as it conflicts with theMisha Brukman2003-06-021-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 backendChris Lattner2003-06-011-13/+215
| | | | llvm-svn: 6516
* This blank line has GOT to go.Chris Lattner2003-05-091-1/+0
| | | | llvm-svn: 6057
* IMPLICIT_DEF was not the beautiful elegant solution I thought it was goingChris Lattner2003-05-071-1/+1
| | | | | | to be. In fact, it made stuff worse. :( llvm-svn: 6013
* Don't have a cow with new pseudo instructionsChris Lattner2003-05-061-2/+3
| | | | llvm-svn: 6009
* Rename MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-141-2/+2
| | | | llvm-svn: 5272
* * Add support for FP registers ST*Chris Lattner2003-01-131-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 MachineFunctionPassChris Lattner2002-12-281-13/+15
| | | | | | | * ctor doesn't take TM argument * handle direct ESP references correctly! llvm-svn: 5179
* Add support for FP prefixesChris Lattner2002-12-251-4/+19
| | | | llvm-svn: 5151
* Add support for the bswap instructionChris Lattner2002-12-231-1/+2
| | | | llvm-svn: 5114
* fix warningChris Lattner2002-12-201-0/+1
| | | | llvm-svn: 5107
* Give passes nice names!Chris Lattner2002-12-151-0/+4
| | | | llvm-svn: 5059
* Use MachineOperand::isFoo methods instead of our own global functionsChris Lattner2002-12-151-8/+1
| | | | llvm-svn: 5033
OpenPOWER on IntegriCloud