Remove <undef> from rematerialized full register
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Fri, 15 Jun 2018 16:58:22 +0000 (16:58 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Fri, 15 Jun 2018 16:58:22 +0000 (16:58 +0000)
commit1a70426ac1648c987f696b1d77c156f917b32ad6
tree1427403d7af795d24579e913221337b4e06d68d7
parent6f406d4f022e059033b335bc024d0c652d6d8c52
Remove <undef> from rematerialized full register

When coalescing a small register into a subregister of a larger register,
if the larger register is rematerialized, the function updateRegDefUses
can add an <undef> flag to the rematerialized definition (since it's
treating it as only definining the coalesced subregister). While with that
assumption doing so is not incorrect, make sure to remove the flag later
on after the call to updateRegDefUses.

llvm-svn: 334845
llvm/lib/CodeGen/RegisterCoalescer.cpp
llvm/test/CodeGen/Hexagon/regalloc-coal-fullreg-undef.mir [new file with mode: 0644]