summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Reduce usage of MRegisterInfo::getRegClassChris Lattner2004-08-151-1/+1
| | | | llvm-svn: 15784
* Clean up whitespace.Alkis Evlogimenos2004-08-041-15/+14
| | | | llvm-svn: 15490
* Convert indentation to 2 spaces.Alkis Evlogimenos2004-08-041-412/+411
| | | | llvm-svn: 15489
* Fix the sense of joinableChris Lattner2004-07-251-1/+1
| | | | llvm-svn: 15196
* Fix a bug where we incorrectly value numbered the first PHI definition theChris Lattner2004-07-251-3/+26
| | | | | | | | same as the PHI use. This is not correct as the PHI use value is different depending on which branch is taken. This fixes espresso with aggressive coallescing, and perhaps others. llvm-svn: 15189
* Add debugging output for joining assignmentsChris Lattner2004-07-251-0/+5
| | | | llvm-svn: 15187
* Change std::map<unsigned, LiveInterval*> into a std::map<unsigned,Alkis Evlogimenos2004-07-241-10/+5
| | | | | | | LiveInterval>. This saves some space and removes the pointer indirection caused by following the pointer. llvm-svn: 15167
* whoops, didn't mean to remove thisChris Lattner2004-07-241-1/+3
| | | | llvm-svn: 15157
* Completely eliminate the intervals_ list. instead, the r2iMap_ maintainsChris Lattner2004-07-241-35/+28
| | | | | | ownership of the intervals. llvm-svn: 15155
* Big change to compute logical value numbers for each LiveRange added to anChris Lattner2004-07-241-125/+151
| | | | | | | | | | | | | | | | | | | | | | | | | Interval. This generalizes the isDefinedOnce mechanism that we used before to help us coallesce ranges that overlap. As part of this, every logical range with a different value is assigned a different number in the interval. For example, for code that looks like this: 0 X = ... 4 X += ... ... N = X We now generate a live interval that contains two ranges: [2,6:0),[6,?:1) reflecting the fact that there are two different values in the range at different positions in the code. Currently we are not using this information at all, so this just slows down liveintervals. In the future, this will change. Note that this change also substantially refactors the joinIntervalsInMachineBB method to merge the cases for virt-virt and phys-virt joining into a single case, adds comments, and makes the code a bit easier to follow. llvm-svn: 15154
* More minor changes:Chris Lattner2004-07-231-41/+14
| | | | | | | | | * Inline some functions * Eliminate some comparisons from the release build This is good for another .3 on gcc. llvm-svn: 15144
* Rename LiveIntervals.(cpp|h) -> LiveIntervalAnalysis.(cpp|h)Chris Lattner2004-07-231-0/+674
llvm-svn: 15135
OpenPOWER on IntegriCloud