summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86CodeEmitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* There is no reason to emit function stubs for direct calls.Chris Lattner2004-11-211-1/+1
| | | | llvm-svn: 18082
* Remove all JIT specific code and switch the code generator over to emittingChris Lattner2004-11-201-194/+26
| | | | | | relocations for global references. llvm-svn: 18068
* Dont' forget to switch back to decimal outputChris Lattner2004-11-191-1/+2
| | | | llvm-svn: 18010
* Fix a major bug in the signed shr code, which apparently only breaks 134.perl!Chris Lattner2004-11-161-1/+2
| | | | llvm-svn: 17902
* Remove a dead function, which died when we got GAS emission working (phwew,Chris Lattner2004-11-161-8/+0
| | | | | | hold your nose!) llvm-svn: 17869
* Implement a simple FIXME: if we are emitting a basic block address that hasChris Lattner2004-11-161-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 togetherChris Lattner2004-11-161-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 areChris Lattner2004-11-151-0/+2
| | | | | | set up. llvm-svn: 17862
* Fix compilation problem; make the cast and the LHS be the same type.John Criswell2004-11-051-1/+1
| | | | llvm-svn: 17488
* Quiet VC++ warningsChris Lattner2004-11-051-2/+2
| | | | llvm-svn: 17484
* Improve compatibility with VC++, patch contributed by Morten Ofstad!Chris Lattner2004-10-181-0/+17
| | | | llvm-svn: 17126
* Unify handling of constant pool indexes with the other code paths, allowingChris Lattner2004-10-171-17/+17
| | | | | | us to use index registers for CPI's llvm-svn: 17082
* Give the X86 JIT the ability to encode global+disp constants. PatchChris Lattner2004-10-151-27/+54
| | | | | | contributed by Jeff Cohen! llvm-svn: 17010
* Fix filename: Printer.cpp has become X86AsmPrinter.cppMisha Brukman2004-09-121-1/+1
| | | | llvm-svn: 16299
* Changes For Bug 352Reid Spencer2004-09-011-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 methodChris Lattner2004-08-111-13/+0
| | | | llvm-svn: 15647
* Make sure to emit the immediate byte for instructions like:Chris Lattner2004-07-171-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 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
OpenPOWER on IntegriCloud