summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveInterval.h
Commit message (Collapse)AuthorAgeFilesLines
* Expose the LiveInterval interfaces as public headers.Chris Lattner2005-09-211-197/+0
| | | | llvm-svn: 23400
* Print the symbolic register name in a register allocator debug dump.Chris Lattner2005-05-141-1/+7
| | | | llvm-svn: 22002
* Fix typeoChris Lattner2004-11-181-1/+1
| | | | llvm-svn: 17938
* Add ability to give hints to the overlaps routines.Chris Lattner2004-11-181-2/+14
| | | | llvm-svn: 17934
* Add new advanceTo methodChris Lattner2004-11-181-0/+13
| | | | llvm-svn: 17932
* Fix a minor bug in expiredAt. endNumber() is the first number that is not ↵Chris Lattner2004-11-181-1/+1
| | | | | | valid. llvm-svn: 17931
* Rename some methods, use 'begin' instead of 'start', add new LiveIntervalChris Lattner2004-11-181-6/+11
| | | | | | iterator/begin/end members. llvm-svn: 17930
* Make a method const, no functionality changesChris Lattner2004-07-251-1/+1
| | | | llvm-svn: 15193
* Remove implementation of operator= and make it private so that it isAlkis Evlogimenos2004-07-241-8/+1
| | | | | | not used accidentally. llvm-svn: 15172
* Change std::map<unsigned, LiveInterval*> into a std::map<unsigned,Alkis Evlogimenos2004-07-241-0/+15
| | | | | | | LiveInterval>. This saves some space and removes the pointer indirection caused by following the pointer. llvm-svn: 15167
* Little stuff:Chris Lattner2004-07-241-10/+37
| | | | | | | | | | | | | | | | | | | * Fix comment typeo * add dump() methods * add a few new methods like getLiveRangeContaining, removeRange & joinable (which is currently the same as overlaps) * Remove the unused operator== Bigger change: * In LiveInterval, instead of using a boolean isDefinedOnce to keep track of if there are > 1 definitions in a particular interval, keep a counter, NumValues to keep track of exactly how many there are. * In LiveRange, add a new ValId element to indicate which of the numbered values each LiveRange belongs to. We now no longer merge LiveRanges if they are of differing value ID's even if they are neighbors. llvm-svn: 15152
* Change addRange and join to be a little bit smarter. In particular, we don'tChris Lattner2004-07-231-3/+9
| | | | | | | | | | | | | | want to insert a new range into the middle of the vector, then delete ranges one at a time next to the inserted one as they are merged. Instead, if the inserted interval overlaps, just start merging. The only time we insert into the middle of the vector is when we don't overlap at all. Also delete blocks of live ranges if we overlap with many of them. This patch speeds up joining by .7 seconds on a large testcase, but more importantly gets all of the range adding code into addRangeFrom. llvm-svn: 15141
* New helper methodChris Lattner2004-07-231-1/+7
| | | | llvm-svn: 15138
* Instead of searching for a live interval pair, search for a location. This ↵Chris Lattner2004-07-231-0/+5
| | | | | | | | gives a very modest speedup of .3 seconds compiling 176.gcc (out of 20s). llvm-svn: 15136
* Pull the LiveRange and LiveInterval classes out of LiveIntervals.h (whichChris Lattner2004-07-231-0/+109
will soon be renamed) into their own file. The new file should not emit DEBUG output or have other side effects. The LiveInterval class also now doesn't know whether its working on registers or some other thing. In the future we will want to use the LiveInterval class and friends to do stack packing. In addition to a code simplification, this will allow us to do it more easily. llvm-svn: 15134
OpenPOWER on IntegriCloud