Revert to RA_Assign when a virtreg separates into components.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 26 Jul 2011 00:54:56 +0000 (00:54 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 26 Jul 2011 00:54:56 +0000 (00:54 +0000)
commit165e231c4295deb5cabd124d08e231b551bcc0b2
treedab1609dcdb585c28624226a3389e9aa14f7c7cc
parent28c85a81a17dd719a254dc00cbeb484774893197
Revert to RA_Assign when a virtreg separates into components.

When dead code elimination deletes a PHI value, the virtual register may
split into multiple connected components. In that case, revert each
component to the RS_Assign stage.

The new components are guaranteed to be smaller (the original value
numbers are distributed among the components), so this will always be
making progress. The components are now allowed to evict other live
ranges or be split again.

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