[ARM] optimizeSelect should clear kill flags.
authorPete Cooper <peter_cooper@apple.com>
Thu, 30 Apr 2015 23:57:47 +0000 (23:57 +0000)
committerPete Cooper <peter_cooper@apple.com>
Thu, 30 Apr 2015 23:57:47 +0000 (23:57 +0000)
commit9ff32d2fe5d5b6640affd9fcb5bdb2f2add22e1f
tree90a8591ff10f44f8bdaa7c9467fea4e25de4d668
parentd4f875c64f9263bf773c637612fd5963bbf17fa1
[ARM] optimizeSelect should clear kill flags.

If we move an instruction from one block down to a MOVC and predicate it,
then the original instruction could be moved in to a loop.  In this case,
its invalid for any kill flags to remain on there.

Fails with -verfy-machineinstrs.

rdar://problem/20752113

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236290 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMBaseInstrInfo.cpp
test/CodeGen/ARM/combine-movc-sub.ll [new file with mode: 0644]