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)
commitea82bd7f0db946898fa5b6dcb9d110fc837eabbb
tree6ad7f56a0309b08e75e30871db55b2468870d118
parent958513ab7709dbff256d374a62d0985978325625
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.

llvm-svn: 165877
llvm/lib/CodeGen/RegisterCoalescer.cpp
llvm/test/CodeGen/ARM/coalesce-subregs.ll