Fix evil VirtRegRewriter bug.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 30 Mar 2011 18:14:07 +0000 (18:14 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 30 Mar 2011 18:14:07 +0000 (18:14 +0000)
commitefe65ce25c2f475ef7a9ea767660b029310e503a
tree198998e31ee4e7a3e3155f0873e03f0c130acc4b
parenteb1c5dcb120faade429f859e0aa9f6fcda1755a0
Fix evil VirtRegRewriter bug.

The rewriter can keep track of multiple stack slots in the same register if they
happen to have the same value. When an instruction modifies a stack slot by
defining a register that is mapped to a stack slot, other stack slots in that
register are no longer valid.

This is a very rare problem, and I don't have a simple test case. I get the
impression that VirtRegRewriter knows it is about to be deleted, inventing a
last opaque problem.

<rdar://problem/9204040>

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