summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAllocLinearScan.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-07-24 02:59:07 +0000
committerChris Lattner <sabre@nondot.org>2004-07-24 02:59:07 +0000
commit7efcdb7ca30d9b099f198df42cab6902568f191a (patch)
tree9bac3890305b73bc2c18d1fd6dc06f367e218d0a /llvm/lib/CodeGen/RegAllocLinearScan.cpp
parentd7b9e293271c348f023cc4dd3c5a9f328fd263b2 (diff)
downloadbcm5719-llvm-7efcdb7ca30d9b099f198df42cab6902568f191a.tar.gz
bcm5719-llvm-7efcdb7ca30d9b099f198df42cab6902568f191a.zip
Big change to compute logical value numbers for each LiveRange added to an
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
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocLinearScan.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud