aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegAlloc
AgeCommit message (Collapse)Author
2004-01-09Move lib/Codegen/RegAlloc into lib/Target/Sparc, as it is sparc specificChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10728 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14Change interface of MachineOperand as follows:Alkis Evlogimenos
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10461 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10Fix problems linking against the reoptimizer; _llvm_regAllocState must haveBrian Gaeke
externally-visible linkage, and SaveStateToModule must default to true for llc. I don't remember why I made it const; perhaps it should be deconstified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9858 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10Operand numbers are now ints. Save the register allocation of the valueBrian Gaeke
each instruction produces as "operand" -1, and the other operands as 0 .. n, as before. PhyRegAlloc::saveState() is refactored into PhyRegAlloc::saveStateForValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-04Update verifySavedState()'s comment, so that it reflects its currentBrian Gaeke
status. In doFinalization(), skip over external functions, just like Anand's mapping info does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9703 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-04Add comments.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9697 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30Include llvm/CodeGen/MachineCodeForInstruction.h. Use it to startBrian Gaeke
implementing verifySavedState(). In saveState(), use the new AllocInfo::AllocStateTy enum, and increment Insn each time through the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9617 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30Make AllocState an enum.Brian Gaeke
Move the stringifying method for that enum into class AllocInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9616 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24Publicize the type of FnAllocState.Brian Gaeke
Prototype option to save state in a global instead of as a Constant in the Module. (Turned off, for now, with the on/off switch welded in the off position. You get the idea.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9500 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23Move the implementations of ==, != on AllocInfos here, from UnpackTraceFunction.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9452 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23Move AllocInfo structure to a private AllocInfo.h header file.Brian Gaeke
Make FnAllocState contain vectors of AllocInfo, instead of LLVM Constants. Give doFinalization a method comment, and let it do the work of converting AllocInfos to LLVM Constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23Make FnAllocState contain vectors of AllocInfo, instead of LLVM Constants.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23New file, containing AllocInfo structure.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9449 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23* Eliminate `using' directiveMisha Brukman
* Fix order of #includes * Make code layout more consistent * Eliminate extraneous whitespace and comment-lines git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23* Fix order of #include filesMisha Brukman
* Doxygen-ify method comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23* Order #includes as per style guideMisha Brukman
* Doxygen-ify comments * Make code layout more consistent git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23* Use C++ style comments instead of C-styleMisha Brukman
* Make file description more readable * Make code layout more consistent, include comment in assert so it's visible during execution if it hits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-22Change the type of FnAllocState.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9388 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-22Don't worry about converting each function's reg. alloc. state into One BigBrian Gaeke
Constant early on, because we can do it in doFinalization. Tighten up a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9387 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-22Add prototype for verifySavedState().Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9386 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-22Doxygenify method comments.Brian Gaeke
Try to improve method comments a little. Get rid of some excess whitespace; put braces on previous line when possible. Add stub for method to verify the work of saveState(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9385 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21Added LLVM copyright notice.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9324 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21Added LLVM copyright header.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added LLVM copyright notice to Makefiles.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9312 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added LLVM project notice to the top of every C++ source file.John Criswell
Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-15#include vector which we will need here soonChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9144 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30include passes.h which defines the interface this file exposesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-24Update head-of-file comment.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8699 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-24Untabify tabs in stuff I've recently added.Brian Gaeke
Check in my register allocator state-saving code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8698 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-24Use getRegClassID() instead of getRegClass()->getID(), since it's there.Brian Gaeke
Shorten the markSuggestedColorUsable method. Add a switch for saving reg. alloc. state (coming soon). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8697 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-24Remove some unused methods of class IGNode.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8696 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-23Move getAnalysisUsage method from header to .cpp file. Add a normal fileChris Lattner
header comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8679 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21Use C++ math header instead of C version.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8648 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21Erase now-unused prototypes.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8647 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21Rearrange #includes ... since there are fewer now I guess it's a win.Brian Gaeke
(I also zapped printMachineCode() and printLabel() at the previous checkin, but forgot to mention it.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8646 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21Standardize the names of include guards.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8645 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21Standardize the names of include guards.Brian Gaeke
Remove more excess whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8644 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21Standardize the names of include guards.Brian Gaeke
Fix typos in file header comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8643 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21I tried to standardize the formatting and tidy up the huge amount ofBrian Gaeke
excess whitespace a little. Also improved some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8642 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-21Convert PhyRegAlloc into a proper pass.Brian Gaeke
PhyRegAlloc.cpp: Don't include TargetMachine.h or TargetRegInfo.h, because these are provided by PhyRegAlloc.h. Merge class RegisterAllocator into class PhyRegAlloc. Simplify & move ctor, dtor to PhyRegAlloc.h. Make some of PhyRegAlloc's reference members into pointer members, so they can be more easily messed with. MarkAllocatedRegs() becomes a member method, with fewer args. PhyRegAlloc.h: Include Pass.h, TargetMachine.h and TargetRegInfo.h. Don't declare TargetRegInfo forward. Give AddedInstrns the obvious clear() method. Make some of PhyRegAlloc's reference members into pointer members, so they can be more easily messed with. Add prototype for markAllocatedRegs(). Remove unused inline void constructLiveRanges(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8641 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16Fix typo in comment. Take out some random whitespace.Brian Gaeke
(Partial merge from my working file) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8564 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16Edit comment for accuracyBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8562 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15Fix typos in comments.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8523 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-11Fixed spelling and grammar.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8489 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01LiveRange.h is now in lib/CodeGen/RegAllocChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8299 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01LiveRangeInfo got moved into the lib/CodeGen/RegAlloc directoryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8297 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01PhyRegAlloc.h got moved to lib/CodeGen/RegAllocChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8296 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01Move IGNode from public include directory to here. Minor cleanups like ↵Chris Lattner
adding std:: namespace qualifiers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8295 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21The word `dependent' has no `a'.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8030 91177308-0d34-0410-b5e6-96231b3b80d8