summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86RegisterInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Code insertion methods now return void instead of an int.Chris Lattner2004-08-151-13/+10
| | | | llvm-svn: 15780
* These methods no longer take a TargetRegisterClass* operand.Chris Lattner2004-08-151-4/+4
| | | | llvm-svn: 15774
* Eliminate MachineFunction& argument from eliminateFrameIndex in x86 Target. ↵Nate Begeman2004-08-141-2/+2
| | | | | | Get MachineFunction from MachineInstruction's parent's parent llvm-svn: 15739
* Reserve the correct amt of space.Chris Lattner2004-07-171-2/+2
| | | | llvm-svn: 14913
* Delete the allocate*TargetMachine function, which is now dead .Chris Lattner2004-07-111-1/+1
| | | | | | The shared command line options are now in a header that makes sense. llvm-svn: 14756
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+2
| | | | llvm-svn: 14622
* Spell out `NoFramePointerElim' for readability.Misha Brukman2004-06-211-1/+1
| | | | llvm-svn: 14299
* Use the common `NoFPElim' setting instead of our own.Misha Brukman2004-06-211-4/+2
| | | | llvm-svn: 14298
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-1/+1
| | | | llvm-svn: 14201
* Add support for the setp instructionsChris Lattner2004-06-111-0/+1
| | | | llvm-svn: 14140
* Convert to the new TargetMachine interface.Chris Lattner2004-06-021-2/+2
| | | | llvm-svn: 13952
* Add more ADC and SBB variantsAlkis Evlogimenos2004-04-021-0/+2
| | | | llvm-svn: 12607
* Implement spill code folding for all of the conditional move instructionsChris Lattner2004-03-301-0/+21
| | | | llvm-svn: 12554
* Another API change to MRegisterInfo::foldMemoryOperand. Instead of aAlkis Evlogimenos2004-03-141-4/+3
| | | | | | MachineBasicBlock::iterator take a MachineInstr*. llvm-svn: 12392
* Change MRegisterInfo::foldMemoryOperand to return the foldedAlkis Evlogimenos2004-03-141-169/+163
| | | | | | instruction to make the API more flexible. llvm-svn: 12386
* Add memory operand version of conditional move.Alkis Evlogimenos2004-03-071-0/+3
| | | | llvm-svn: 12190
* A big X86 instruction rename. The instructions are renamed to makeAlkis Evlogimenos2004-02-291-148/+148
| | | | | | | | | | | | | | | | 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
* SHLD and SHRD take 32-bit operands but an 8-bit immediate. Rename themAlkis Evlogimenos2004-02-281-2/+2
| | | | | | to denote this fact. llvm-svn: 11972
* Floating point loads/stores act on memory operands. Rename them toAlkis Evlogimenos2004-02-281-2/+2
| | | | | | denote this fact. llvm-svn: 11971
* Uncomment instructions that take both an immediate and a memoryAlkis Evlogimenos2004-02-281-11/+11
| | | | | | operand but their sizes differ. llvm-svn: 11969
* Do not generate instructions with mismatched memory/immediate sizedAlkis Evlogimenos2004-02-281-11/+11
| | | | | | operands. The X86 backend doesn't handle them properly right now. llvm-svn: 11944
* Add memory operand folding support for the SETcc family ofAlkis Evlogimenos2004-02-271-0/+12
| | | | | | instructions. llvm-svn: 11907
* Add memory operand folding support for SHLD and SHRD instructions.Alkis Evlogimenos2004-02-271-0/+11
| | | | llvm-svn: 11905
* Add memory operand folding support for SHL, SHR and SAR, SHLD instructions.Alkis Evlogimenos2004-02-271-0/+18
| | | | llvm-svn: 11903
* Move MOTy::UseType enum into MachineOperand. This eliminates theAlkis Evlogimenos2004-02-221-5/+10
| | | | | | | | | switch statements in the constructors and simplifies the implementation of the getUseType() member function. You will have to specify defs using MachineOperand::Def instead of MOTy::Def though (similarly for Use and UseAndDef). llvm-svn: 11715
* When folding memory operands in machine instructions be careful toAlkis Evlogimenos2004-02-221-2/+4
| | | | | | | leave register operands with the same use/def flags as the original instruction. llvm-svn: 11709
* Add support for GlobalAddress's for alkisChris Lattner2004-02-171-2/+8
| | | | llvm-svn: 11560
* Instructiosn with 1 memory operand have 4 operands in ourAlkis Evlogimenos2004-02-171-2/+1
| | | | | | representation.. duh! llvm-svn: 11554
* Align case statements.Alkis Evlogimenos2004-02-171-32/+32
| | | | llvm-svn: 11552
* Add TEST and XCHG memory operand support.Alkis Evlogimenos2004-02-171-1/+15
| | | | llvm-svn: 11550
* Add OR and XOR memory operand support.Alkis Evlogimenos2004-02-171-0/+18
| | | | llvm-svn: 11549
* Add memory operand folding support for MUL, DIV, IDIV, NEG, NOT,Alkis Evlogimenos2004-02-171-0/+22
| | | | | | MOVSX, and MOVZX. llvm-svn: 11546
* Add memory operand folding for CMP{rm,mr,mi}{8,16,32}, INCm{8,16,32}Alkis Evlogimenos2004-02-171-0/+21
| | | | | | and DECm{8,16,32} instructions. llvm-svn: 11545
* Add support for folding memory operands for ADC, SBB and SUB instructions.Alkis Evlogimenos2004-02-171-0/+13
| | | | llvm-svn: 11541
* Add a (hidden) option to print instructions that fail to fuse. It's lookingChris Lattner2004-02-171-8/+16
| | | | | | like compares and test's would be the next huge win... llvm-svn: 11539
* Add support for folding memory operands in MOVri{8,16,32} instructions.Alkis Evlogimenos2004-02-171-0/+3
| | | | llvm-svn: 11538
* Add an option to disable spill fusing in the X86 backendChris Lattner2004-02-171-0/+5
| | | | llvm-svn: 11531
* Fix the mneumonics for the mov instructions to have the source and destinationChris Lattner2004-02-171-9/+9
| | | | | | order in the correct sense!! Arg! llvm-svn: 11530
* GRRR. Move instructions have swapped the order of the r/m operands.Chris Lattner2004-02-171-6/+6
| | | | llvm-svn: 11528
* Change to match the newer, simpler, interfaceChris Lattner2004-02-171-30/+7
| | | | llvm-svn: 11525
* Add support for folding memory operands into AND and IMUL'sChris Lattner2004-02-171-2/+30
| | | | llvm-svn: 11523
* Scrunchify code, by adding helpers. No functionality changes.Chris Lattner2004-02-171-56/+45
| | | | llvm-svn: 11522
* Add API to check and fold memory operands into instructions.Alkis Evlogimenos2004-02-171-0/+81
| | | | llvm-svn: 11519
* Fix the 'have a framepointer' case, so that the frame pointer always pointsChris Lattner2004-02-151-8/+10
| | | | | | to the old saved EBP. llvm-svn: 11455
* There is no reason to align the stack pointer if there are no callees of thisChris Lattner2004-02-141-10/+12
| | | | | | function! llvm-svn: 11450
* The prologue/epilogue related method calls have no reason to return a value,Chris Lattner2004-02-141-25/+15
| | | | | | | | make them return void. This allows us to avoid some costly MBB.size() calls llvm-svn: 11448
* finegrainify namespacification, fix 80col probChris Lattner2004-02-141-7/+1
| | | | llvm-svn: 11445
* Use newly added next() and prior() utility functions.Alkis Evlogimenos2004-02-141-1/+2
| | | | llvm-svn: 11430
* Change interface so that we can add to the end of a basic blockAlkis Evlogimenos2004-02-121-5/+5
| | | | | | | without getting an assertion from ilist that we are dereferencing ilist<T>::end(). llvm-svn: 11345
* Change MachineBasicBlock's vector of MachineInstr pointers into anAlkis Evlogimenos2004-02-121-26/+23
| | | | | | | | | 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
OpenPOWER on IntegriCloud