Take advantage of the recent improvements to the liveintervals set (tracking
authorChris Lattner <sabre@nondot.org>
Thu, 24 Aug 2006 22:43:55 +0000 (22:43 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 24 Aug 2006 22:43:55 +0000 (22:43 +0000)
commitf7da2c7b0c6293c268881628fc351bed7763f1f4
tree0226e9d0eeec331bfd216448cb6660854ae2b6d4
parent4869d7fa8e7daeaafc8b86c6f54efd41517f0f14
Take advantage of the recent improvements to the liveintervals set (tracking
instructions which define each value#) to simplify and improve the coallescer.
In particular, this patch:

1. Implements iterative coallescing.
2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a
   better solution.
3. Implements PR865, "coallescing" away the second copy in code like:

   A = B
   ...
   B = A

This also includes changes to symbolically print registers in intervals
when possible.

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