When spilling a register defined by an early clobber, make sure that the new
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 15 Nov 2010 20:55:49 +0000 (20:55 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 15 Nov 2010 20:55:49 +0000 (20:55 +0000)
commit68257e61eb6e7d528759bd7830db47d409dace89
treebae83112685c8bbf315f4e5f2b8229a2839514c8
parent99f53d13efc259b47c93dc0d90a5db763cbe371a
When spilling a register defined by an early clobber, make sure that the new
live ranges for the spill register are also defined at the use slot instead of
the normal def slot.

This fixes PR8612 for the inline spiller. A use was being allocated to the same
register as a spilled early clobber def.

This problem exists in all the spillers. A fix for the standard spiller is
forthcoming.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119182 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/InlineSpiller.cpp
test/CodeGen/ARM/2010-11-15-SpillEarlyClobber.ll [new file with mode: 0644]