Use the value mapping provided by LiveIntervalMap. This simplifies the code a
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 16 Sep 2010 00:01:36 +0000 (00:01 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 16 Sep 2010 00:01:36 +0000 (00:01 +0000)
commitf6a129a24b866635c3c51edf08749755f952b5f2
treee97b0b62ab07b1486920dc1299459968246b36c7
parent7e7d01de9c85af70dd4058358f8eb36d82c3e49f
Use the value mapping provided by LiveIntervalMap. This simplifies the code a
great deal because we don't have to worry about maintaining SSA form.

Unconditionally copy back to dupli when the register is live out of the split
range, even if the live-out value was defined outside the range. Skipping the
back-copy only makes sense when the live range is going to spill outside the
split range, and we don't know that it will. Besides, this was a hack to avoid
SSA update issues.

Clear up some confusion about the end point of a half-open LiveRange. Methinks
LiveRanges need to be closed so both start and end are included in the range.
The low bits of a SlotIndex are symbolic, so a half-open range doesn't really
make sense. This would be a pervasive change, though.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114043 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SplitKit.cpp
lib/CodeGen/SplitKit.h