OSDN Git Service

Fix some issues with rematerialization in RegisterCoalescer when the destination
authorCameron Zwarich <zwarich@apple.com>
Thu, 14 Feb 2013 02:51:03 +0000 (02:51 +0000)
committerCameron Zwarich <zwarich@apple.com>
Thu, 14 Feb 2013 02:51:03 +0000 (02:51 +0000)
commitc5f147459b1704e25df4ff888729dd5d22d73381
treecdc07fac21e20485c4b216cffec83d44bada1086
parentad236eb8c6fec966463fd7186b582284e1dcdb1b
Fix some issues with rematerialization in RegisterCoalescer when the destination
of the copy is a subregister def. The current code assumes that it can do a full
def of the destination register, but it is not checking that the def operand is
read-undef. It also doesn't clear the subregister index of the destination in
the new instruction to reflect the full subregister def.

These issues were found running 'make check' with my next commit that enables
rematerialization in more cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175122 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/RegisterCoalescer.cpp