Add early coalescing to liveintervals. This is work in progress and is known to misco...
commit95320818705e1a8a2ec6e0eaf009695c7b36630e
authorEvan Cheng <evan.cheng@apple.com>
Mon, 14 Sep 2009 21:33:42 +0000 (14 21:33 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 14 Sep 2009 21:33:42 +0000 (14 21:33 +0000)
tree826b0ce459f071c6f3c294554662017ab8861a67
parent3380dd66fb6f3cedf9fe83f56c8680802bfaf4cb
Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this.

The gist of this is if source of some of the copies that feed into a phi join is defined by the phi join, we'd like to eliminate them. However, if any of the non-identity source overlaps the live interval of the phi join then the coalescer won't be able to coalesce them. The early coalescer's job is to eliminate the identity copies by partially-coalescing the two live intervals.

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