Two coalescer fixes in one.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 11 Mar 2009 00:03:21 +0000 (00:03 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 11 Mar 2009 00:03:21 +0000 (00:03 +0000)
commita2e6435e483f30e00382a5758f6dcc67e213b57a
treefdfebe0e7a7f9e2de6c971b2e5f62847ab01558b
parentdd446324982c1b54d6ecc756d2eff9ce37e6e5c1
Two coalescer fixes in one.
1. Use the same value# to represent unknown values being merged into sub-registers.
2. When coalescer commute an instruction and the destination is a physical register, update its sub-registers by merging in the extended ranges.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66610 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/LiveInterval.h
lib/CodeGen/LiveInterval.cpp
lib/CodeGen/SimpleRegisterCoalescing.cpp
test/CodeGen/X86/2009-03-10-CoalescerBug.ll [new file with mode: 0644]