Fixed register allocator splitting a live range on a spilling variable.
authorPete Cooper <peter_cooper@apple.com>
Mon, 12 Dec 2011 22:16:27 +0000 (22:16 +0000)
committerPete Cooper <peter_cooper@apple.com>
Mon, 12 Dec 2011 22:16:27 +0000 (22:16 +0000)
commit4777ebb767d1b590c05d502c4a7f6adef4e6d5d1
tree966f9a340cc4d85b357a317b7b695c1610fcf1c0
parent22614a02eb8855548a892139e54e478c70050f9f
Fixed register allocator splitting a live range on a spilling variable.

If we create new intervals for a variable that is being spilled, then those new intervals are not guaranteed to also spill.  This means that anything reading from the original spilling value might not get the correct value if spills were missed.

Fixes <rdar://problem/10546864>

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