When a live virtual register is being clobbered by an implicit def, it is spilled
authorEvan Cheng <evan.cheng@apple.com>
Thu, 17 Jan 2008 02:08:17 +0000 (02:08 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 17 Jan 2008 02:08:17 +0000 (02:08 +0000)
commit839b759c38182af8d151db10923c2a6cc7dd5b3d
tree1e38bedc3e83b3574831305d8e6934e7610e742b
parentab04e13a1f017c2b0a82344b4c083d92139ee2cc
When a live virtual register is being clobbered by an implicit def, it is spilled
and the spill is its kill. However, if the local allocator has determined the
register has not been modified (possible when its value was reloaded), it would
not issue a restore. In that case, mark the last use of the virtual register as
kill.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46111 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/RegAllocLocal.cpp
test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll [new file with mode: 0644]