Properly enable rematerialization when spilling after live range splitting.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 29 Mar 2011 03:12:02 +0000 (03:12 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 29 Mar 2011 03:12:02 +0000 (03:12 +0000)
commit2ef661b0e8de0d4186c5f9cc990adce0a2493b17
treefdec38eb926c98cc7b8ec8b208f0549cfaecaa2f
parent8470475d6b684b7f9a4871dd90e4382ad8a509b2
Properly enable rematerialization when spilling after live range splitting.

The instruction to be rematerialized may not be the one defining the register
that is being spilled. The traceSiblingValue() function sees through sibling
copies to find the remat candidate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128449 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/InlineSpiller.cpp
lib/CodeGen/LiveRangeEdit.cpp
lib/CodeGen/LiveRangeEdit.h