Make the coallescer a bit smarter, allowing it to join more live ranges.
authorChris Lattner <sabre@nondot.org>
Fri, 21 Oct 2005 06:49:50 +0000 (06:49 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 21 Oct 2005 06:49:50 +0000 (06:49 +0000)
commitaa51a484e188ecb8d3e4b6ac852c553a4aacc89a
treec9ebf5c5b39f7ae3ca1b7d5ffbb1e3fe841ae4f4
parent9e20d352c2fec5731857313014107a586387d242
Make the coallescer a bit smarter, allowing it to join more live ranges.
For example, we can now join things like [0-30:0)[31-40:1)[52-59:2)
with [40:60:0) if the 52-59 range is defined by a copy from the 40-60 range.
The resultant range ends up being [0-30:0)[31-60:1).

This fires a lot through-out the test suite (e.g. shrinking bc from
19492 -> 18509 machineinstrs) though most gains are smaller (e.g. about
50 copies eliminated from crafty).

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