Yet another nasty spiller bug.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 7 May 2008 00:49:28 +0000 (00:49 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 7 May 2008 00:49:28 +0000 (00:49 +0000)
commit7ebc06bfd8df4cd7c477af1e5fec196c32efcfea
tree538a98ba638ffa877ec3c9c9e134295b5907e85e
parent42ac929ed968939d22a715769e583aeed8f6c823
Yet another nasty spiller bug.
%ecx = op
store %cl<kill>, (addr)
(addr) = op %al

It's not safe to unfold the last operand and eliminate store even though %cl is marked kill. It's a sub-register use which means one of its super-register(s) may be used below.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50794 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/VirtRegMap.cpp
test/CodeGen/X86/2008-05-06-SpillerBug.ll [new file with mode: 0644]