Keep track of which registers are related to which other registers.
authorChris Lattner <sabre@nondot.org>
Tue, 23 Aug 2005 22:27:31 +0000 (22:27 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 23 Aug 2005 22:27:31 +0000 (22:27 +0000)
commitb980578b4160cf8ef1ba6d33e85c50eaeef0eef8
treeed96115c0933b48b1d228a67b69491d9c4d374b2
parentef35ba4f646457728a57f73f93e816b77bd9c8a7
Keep track of which registers are related to which other registers.
Use this information to avoid doing expensive interval intersections for
registers that could not possible be interesting.  This speeds up linscan
on ia64 compiling kc++ in release mode from taking 7.82s to 4.8s(!), total
itanium llc time on this program is 27.3s now.  This marginally speeds up
PPC and X86, but they appear to be limited by other parts of linscan, not
this code.

On this program, on itanium, live intervals now takes 41% of llc time.

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