summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move lib/Codegen/RegAlloc into lib/Target/Sparc, as it is sparc specificChris Lattner2004-01-091-416/+0
| | | | llvm-svn: 10728
* Change interface of MachineOperand as follows:Alkis Evlogimenos2003-12-141-4/+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
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* * Order #includes as per style guideMisha Brukman2003-10-231-7/+4
| | | | | | | * Doxygen-ify comments * Make code layout more consistent llvm-svn: 9431
* 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
* LiveRangeInfo got moved into the lib/CodeGen/RegAlloc directoryChris Lattner2003-09-011-1/+1
| | | | llvm-svn: 8297
* Move IGNode from public include directory to here. Minor cleanups like ↵Chris Lattner2003-09-011-18/+17
| | | | | | adding std:: namespace qualifiers llvm-svn: 8295
* (1) Change the way unused regs. are marked and found to consider regTypeVikram S. Adve2003-07-251-1/+3
| | | | | | | | | | | info (since multiple reg types may share the same reg class). (2) Remove machine-specific regalloc. methods that are no longer needed. In particular, arguments and return value from a call do not need machine-specific code for allocation. (3) Rename TargetRegInfo::getRegType variants to avoid unintentional overloading when an include file is omitted. llvm-svn: 7329
* Extensive changes to the way code generation occurs for functionVikram S. Adve2003-05-311-20/+86
| | | | | | | | | | | | | | call arguments and return values: Now all copy operations before and after a call are generated during selection instead of during register allocation. The values are copied to virtual registers (or to the stack), but in the former case these operands are marked with the correct physical registers according to the calling convention. Although this complicates scheduling and does not work well with live range analysis, it simplifies the machine-dependent part of register allocation. llvm-svn: 6465
* (1) Added special register class containing (for now) %fsr.Vikram S. Adve2003-05-271-3/+4
| | | | | | | | | | | | | Fixed spilling of %fcc[0-3] which are part of %fsr. (2) Moved some machine-independent reg-class code to class TargetRegInfo from SparcReg{Class,}Info. (3) Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly() and related functions and flags. Fixed several bugs where only "isDef" was being checked, not "isDefAndUse". llvm-svn: 6341
* Adjust to new interfacesChris Lattner2003-01-151-3/+5
| | | | llvm-svn: 5314
* #include RegClass.h explicitlyChris Lattner2003-01-151-1/+1
| | | | llvm-svn: 5307
* Rename MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-141-1/+1
| | | | llvm-svn: 5272
* Inline typedef, eliminate unused methodChris Lattner2002-10-291-14/+9
| | | | llvm-svn: 4382
* Add #includes that were eliminated from headersChris Lattner2002-10-291-1/+2
| | | | llvm-svn: 4380
* Eliminate usage of MachineBasicBlock::getChris Lattner2002-10-281-22/+17
| | | | llvm-svn: 4344
* Rename the redundant MachineOperand::getOperandType() to ↵Chris Lattner2002-10-281-6/+6
| | | | | | MachineOperand::getType() llvm-svn: 4331
* Add #includes now that MachineInstr.h doesn't include ↵Chris Lattner2002-10-281-0/+1
| | | | | | llvm/Target/MachineInstrInfo.h llvm-svn: 4327
* *** empty log message ***Chris Lattner2002-10-281-1/+0
| | | | llvm-svn: 4323
* *** empty log message ***Chris Lattner2002-10-281-6/+5
| | | | llvm-svn: 4317
* Live ranges for Return value and return address of a Call are nowVikram S. Adve2002-09-281-91/+71
| | | | | | | created here, simply by handling all implicit operands (which should have been done anyway). llvm-svn: 3969
* Allow copy coalescing in more cases: if sum of node degrees is more thanVikram S. Adve2002-09-201-1/+10
| | | | | | | | than #available regs, compute the sum excluding duplicates and if that is less than #regs, go ahead and coalesce. Add method IGNode::getCombinedDegree to count excluding duplicates. llvm-svn: 3842
* Break RA_DEBUG option into several levels to get better control overVikram S. Adve2002-09-141-20/+26
| | | | | | debug output. llvm-svn: 3724
* MachineInstr* in vector are not const (and never really were)Vikram S. Adve2002-07-081-9/+10
| | | | | | | because operands may be modified directly to set register. Also, class MachineCodeForBasicBlock is now an annotation on BasicBlock. llvm-svn: 2832
* MEGAPATCH checkin.Chris Lattner2002-06-251-19/+10
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-291-1/+1
| | | | llvm-svn: 2397
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-071-25/+19
| | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
* Method.h no longer includes BasicBlock.hChris Lattner2002-02-121-0/+1
| | | | | | | Method::inst_* is now in llvm/Support/InstIterator.h GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h llvm-svn: 1746
* Convert operand iterator over to work like an STL iteratorChris Lattner2002-02-051-60/+28
| | | | llvm-svn: 1720
* * Code CleanupsChris Lattner2002-02-051-8/+6
| | | | | | * Removal dependencies on Type.h & remove uses of getTypeID() llvm-svn: 1718
* Must include SetOperations to do set_*Chris Lattner2002-02-051-0/+1
| | | | llvm-svn: 1716
* * Eliminate the LiveVarSet class, making applyTranferFuncForMInst a staticChris Lattner2002-02-051-14/+12
| | | | | | | | | | function in the one .cpp file that uses it. Use ValueSet's instead. * Prepare to delete LiveVarSet.h & LiveVarSet.cpp * Eliminate the ValueSet class, making all old member functions into global templates that will eventually be moved to Support. * Eliminate some irrelevant const's llvm-svn: 1712
* * Code CleanupsChris Lattner2002-02-051-36/+25
| | | | | | * Introduce RAV to allow stream I/O instead of using printValue llvm-svn: 1710
* * Add #includes removed from headersChris Lattner2002-02-041-10/+8
| | | | | | | * ValueSet interface converted from add/remove to insert/erase * Minor cleanups llvm-svn: 1689
* Add #includes neccesary since they were removed from .h filesChris Lattner2002-02-041-0/+4
| | | | llvm-svn: 1675
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-73/+51
| | | | llvm-svn: 1503
* Added destructors and comments.Ruchira Sasanka2002-01-071-13/+67
| | | | | | Added correct spill candidate selection logic. llvm-svn: 1493
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-3/+3
| | | | | | | Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() llvm-svn: 1408
* Coalesing bug fix - now checks for the same regType instead of the sameRuchira Sasanka2001-11-101-3/+6
| | | | | | regClass since FP class has two reg Types. llvm-svn: 1236
* Corrected call interference bugRuchira Sasanka2001-10-191-0/+5
| | | | llvm-svn: 916
* Added support for caller savingRuchira Sasanka2001-10-161-22/+22
| | | | llvm-svn: 847
* Output to cerr rather than cout so that debug info doesn't mess up assembly ↵Chris Lattner2001-10-151-22/+22
| | | | | | generation llvm-svn: 840
* updated suggesting/coloring of call & return args & implicit operands.Ruchira Sasanka2001-10-151-52/+43
| | | | | | Changed added instr to a deque (from a vector) llvm-svn: 831
* --corrected coalescing test: coalsed only if two are of the same reg classRuchira Sasanka2001-10-121-6/+6
| | | | llvm-svn: 729
* --added suggesting colors; call/ret arg handlingRuchira Sasanka2001-09-301-15/+96
| | | | llvm-svn: 670
* * REMOVE extraneous debug info if DEBUG_RA is not setChris Lattner2001-09-191-1/+1
| | | | | | * Spell PhyRegAlloc right. llvm-svn: 645
* -- updated printingRuchira Sasanka2001-09-181-1/+15
| | | | llvm-svn: 631
* fixed printing messagesRuchira Sasanka2001-09-151-2/+4
| | | | llvm-svn: 590
* *** empty log message ***Ruchira Sasanka2001-09-141-0/+283
llvm-svn: 580
OpenPOWER on IntegriCloud