Drop <def,dead> flags when merging into an unused lane.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 13 Oct 2012 17:26:47 +0000 (17:26 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 13 Oct 2012 17:26:47 +0000 (17:26 +0000)
commitd86296a4aea7ebac9c8ef8ba92642b64545dec95
tree95f4eb51a5efa085d5fb64072f07f1d2d93fe0f1
parent186f8d90df976349481ccf8c8e24c37c6ec5ffb4
Drop <def,dead> flags when merging into an unused lane.

The new coalescer can merge a dead def into an unused lane of an
otherwise live vector register.

Clear the <dead> flag when that happens since the flag refers to the
full virtual register which is still live after the partial dead def.

This fixes PR14079.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165877 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/RegisterCoalescer.cpp
test/CodeGen/ARM/coalesce-subregs.ll