summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Printer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Renamed files to have the `X86' prefix for uniqueness purposes.Misha Brukman2004-07-261-1033/+0
| | | | | | All CVS history was renamed, the *,v were copied over. No worries. llvm-svn: 15238
* bug 122:Reid Spencer2004-07-181-2/+2
| | | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14950
* Fix associativity of parameters to assert(): now it actually makes sense.Misha Brukman2004-06-291-2/+3
| | | | llvm-svn: 14483
* Convert tabs to spaces.Misha Brukman2004-06-291-18/+17
| | | | llvm-svn: 14482
* Made a fix so that you can print out MachineInstrs that belong to a ↵Tanya Lattner2004-06-251-1/+1
| | | | | | MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. llvm-svn: 14389
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-2/+2
| | | | llvm-svn: 14201
* Convert to the new TargetMachine interface.Chris Lattner2004-06-021-2/+2
| | | | llvm-svn: 13952
* Support MachineBasicBlock operands on RawFrm instructions.Brian Gaeke2004-05-141-27/+12
| | | | | | | Get rid of separate numbering for LLVM BasicBlocks; use the automatically generated MachineBasicBlock numbering. llvm-svn: 13567
* Add support for the printImplicitDefsBefore flagChris Lattner2004-04-131-3/+31
| | | | llvm-svn: 12893
* Added the llvm.readport and llvm.writeport intrinsics for x86. These doJohn Criswell2004-04-081-16/+75
| | | | | | | | | | | | I/O port instructions on x86. The specific code sequence is tailored to the parameters and return value of the intrinsic call. Added the ability for implicit defintions to be printed in the Instruction Printer. Added the ability for RawFrm instruction to print implict uses and defintions with correct comma output. This required adjustment to some methods so that a leading comma would or would not be printed. llvm-svn: 12782
* Add support for FP cmovesChris Lattner2004-03-311-10/+28
| | | | llvm-svn: 12575
* Fix compilation on Sparc: assert(0) => abort()Misha Brukman2004-03-111-5/+5
| | | | llvm-svn: 12289
* Check if printing of implicit uses is required for all types of shiftAlkis Evlogimenos2004-03-091-0/+3
| | | | | | instructions. llvm-svn: 12258
* Use newly added API to emit bytes for instructions that gas misassemblesAlkis Evlogimenos2004-03-091-66/+53
| | | | llvm-svn: 12253
* Doxygenify some comments.Misha Brukman2004-03-011-4/+4
| | | | llvm-svn: 12064
* A big X86 instruction rename. The instructions are renamed to makeAlkis Evlogimenos2004-02-291-4/+4
| | | | | | | | | | | | | | | | their names more decriptive. A name consists of the base name, a default operand size followed by a character per operand with an optional special size. For example: ADD8rr -> add, 8-bit register, 8-bit register IMUL16rmi -> imul, 16-bit register, 16-bit memory, 16-bit immediate IMUL16rmi8 -> imul, 16-bit register, 16-bit memory, 8-bit immediate MOVSX32rm16 -> movsx, 32-bit register, 16-bit memory llvm-svn: 11995
* Floating point loads/stores act on memory operands. Rename them toAlkis Evlogimenos2004-02-281-4/+4
| | | | | | denote this fact. llvm-svn: 11971
* Each instruction now has both an ImmType and a MemType. This describesAlkis Evlogimenos2004-02-281-9/+7
| | | | | | | | 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-8/+8
| | | | llvm-svn: 11921
* Work around a gas bug. Print '-9223372036854775808' as unsigned.Chris Lattner2004-02-231-1/+4
| | | | llvm-svn: 11729
* Expand the repertoire of the forms we can print and encode.Chris Lattner2004-02-171-7/+6
| | | | llvm-svn: 11537
* Rename MOVi[mr] instructions to MOV[rm]iChris Lattner2004-02-171-2/+8
| | | | llvm-svn: 11527
* Rename the IMULri* instructions to IMULrri, as they are actually three addressChris Lattner2004-02-171-1/+1
| | | | | | instructions. Add forms of these instructions that read from memory llvm-svn: 11518
* 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
* finegrainify namespacification, fix 80col probChris Lattner2004-02-141-5/+2
| | | | llvm-svn: 11445
* Change MachineBasicBlock's vector of MachineInstr pointers into anAlkis Evlogimenos2004-02-121-1/+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
* s/getOpCode/getOpcodeChris Lattner2004-02-111-11/+11
| | | | llvm-svn: 11332
* Modify the two address instruction pass to remove the duplicateAlkis Evlogimenos2004-02-041-38/+29
| | | | | | operand of the instruction and thus simplify the register allocation. llvm-svn: 11124
* IMULri* instructions do not require their first two registers operandsAlkis Evlogimenos2004-02-041-3/+3
| | | | | | to be the same (IOW they are not two address instructions). llvm-svn: 11117
* Eliminate the isStringCompatible function, using ConstantArray::isString.Chris Lattner2004-01-141-18/+3
| | | | | | | It's not clear why the code was looking for signed chars < 0, but it can't matter to the assembler anyway, so the check goes away. llvm-svn: 10853
* Change interface of MachineOperand as follows:Alkis Evlogimenos2003-12-141-6/+3
| | | | | | | | | | | | | | | a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. llvm-svn: 10461
* generalize the instruction types permitted a bitChris Lattner2003-12-011-35/+42
| | | | llvm-svn: 10274
* Support constant casting constant pointers to ints/uints, and/orBrian Gaeke2003-11-221-4/+8
| | | | | | the other way around, instead of failing a large, tumor-like assertion. llvm-svn: 10171
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Fix problems in previous changes. This fixes several regressions last night.Chris Lattner2003-11-041-5/+6
| | | | llvm-svn: 9694
* Significantly simplify constant emission by unifying the stuff which used to ↵Chris Lattner2003-11-031-147/+119
| | | | | | | | | build up strings with the stuff that used to print to an ostream directly. We now NEVER build up big strings, only to print them once they are formed. llvm-svn: 9686
* Incorporate printSingleConstantValue into its single callerChris Lattner2003-11-031-89/+66
| | | | llvm-svn: 9684
* * Reformat some codeChris Lattner2003-11-031-42/+34
| | | | | | | * Emit bools as 1/0 instead of true/false, fixing compilation of eon and PR 83 & Jello/2003-11-03-GlobalBool.llx llvm-svn: 9683
* 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
* The Grammar Police was here.Misha Brukman2003-10-201-1/+1
| | | | llvm-svn: 9280
* * Rename X86::IMULr16 -> X86::IMULrr16Chris Lattner2003-10-201-2/+14
| | | | | | | * 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
* .string adds an implicit zero at the end. This is not what we wanted.Chris Lattner2003-10-191-1/+1
| | | | | | This fixes PR#44. llvm-svn: 9252
* Add support for 'weak' linkage.Chris Lattner2003-10-161-1/+3
| | | | llvm-svn: 9171
* Add # of printed instructions statistic to both the SPARC and X86 LLC backends.Brian Gaeke2003-10-061-0/+4
| | | | llvm-svn: 8892
* Only emit inter-field-padding if the amount of padding is != 0Chris Lattner2003-09-101-1/+2
| | | | llvm-svn: 8452
* * Simplify printConstantValueOnly by moving the tail padding stuff directlyChris Lattner2003-09-091-65/+90
| | | | | | | | | into the struct case. * Extend printConstantValueOnly to print .zero's if the initializer is zero * Delete dead isConstantFunctionPointerRef function * Emit the appropriate assembly for the various linkage types! llvm-svn: 8417
* Factory methods for FunctionPasses now return type FunctionPass *.Brian Gaeke2003-08-131-7/+4
| | | | | | | Revert (to v1.55) one of the hunks of Chris's change that messed up the %-register workaround. llvm-svn: 7815
* Sort #includes, eliminate #include of "llvm/Type.h" which was redundantChris Lattner2003-08-111-4/+3
| | | | llvm-svn: 7746
* Cygwin apparently works with %'s on registers!Chris Lattner2003-08-111-5/+2
| | | | llvm-svn: 7745
* Add a new -enable-cygwin-compatible-output argument, which make the output moreChris Lattner2003-08-111-19/+29
| | | | | | | consumably by the cygwin assembler. This is really just a nasty hack until we get real target triple support. llvm-svn: 7742
OpenPOWER on IntegriCloud