Really really bad local register allocator bug. On X86, it was never using ESI, EDI...
authorEvan Cheng <evan.cheng@apple.com>
Fri, 22 Feb 2008 20:30:53 +0000 (20:30 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 22 Feb 2008 20:30:53 +0000 (20:30 +0000)
commitbcfa1ca9768a0ff0e4c2935832287d7bb9921cec
treea7d33b8072fcc2d2144e6c5c6acb41d24ee6beae
parent9af7090392efa7bf1b7eae274b9231518af8303b
Really really bad local register allocator bug. On X86, it was never using ESI, EDI, and EBP because of a bug in RALocal::isPhysRegAvailable(). For example, when
it checks if ESI is available, it then looks at registers aliases to ESI. SIL is marked -2 (not allocatable) but isPhysRegAvailable() incorrectly assumes it is in use and returns false for ESI.

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