The check for coalescing a virtual register to a physical register, e.g.
authorEvan Cheng <evan.cheng@apple.com>
Thu, 11 Mar 2010 08:20:21 +0000 (08:20 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 11 Mar 2010 08:20:21 +0000 (08:20 +0000)
commit826cbac2a0cef418fd8949813761c2ed975f3df1
tree7081d6d99453ea9ba519ff9c58836f6b5c199660
parent41b39e9908ef22f01e51bbb1239d67fe23b53617
The check for coalescing a virtual register to a physical register, e.g.
cl = EXTRACT_SUBREG reg1024, 1, is overly conservative. It should check
for overlaps of vr's live interval with the super registers of the
physical register (ECX in this case) and let JoinIntervals() handle checking
the coalescing feasibility against the physical register (cl in this case).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98251 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/LiveIntervalAnalysis.h
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/SimpleRegisterCoalescing.cpp
test/CodeGen/X86/phys_subreg_coalesce-3.ll [new file with mode: 0644]