- Fix a subtle bug in RemoveCopyByCommutingDef. ALR is the live range where the sourc...
authorEvan Cheng <evan.cheng@apple.com>
Mon, 10 Mar 2008 08:11:32 +0000 (08:11 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 10 Mar 2008 08:11:32 +0000 (08:11 +0000)
commit4ff3f1cc573594058a98ffa8f198a81739c523b1
treefd0059312aefd7ea642ea5adb856429f8e590c1f
parentff247d2ed41dac50d99c5ff534b12f33bb57310a
- Fix a subtle bug in RemoveCopyByCommutingDef. ALR is the live range where the source is defined; BLR is the live range which is defined by the copy.
If ALR and BLR overlaps and end of BLR extends beyond end of ALR, e.g.
 A = or A, B
 ...
 B = A
 ...
 C = A<kill>
 ...
   = B

then do not add kills of A to the newly created B interval.
- Also fix some kill info update bug.

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