]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commit
Remove kill flags after if conversion if necessary
authorMatthias Braun <matze@braunis.de>
Fri, 11 Oct 2013 19:04:37 +0000 (19:04 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 11 Oct 2013 19:04:37 +0000 (19:04 +0000)
commit85733840109907e1e0f8ffc03dcd2f5fd8e49d47
tree87423d3c855a7ec6916d40f810aae340687f51a5
parentda74817c50873d0691a3e4d3f392235584ead551
Remove kill flags after if conversion if necessary

When if converting something like:
true:
   ... = R0<kill>

false:
   ... = R0<kill>

then the instructions of the true block must not have a <kill> flag
anymore, as the instruction of the false block follow and do still read
the R0 value.
Specifically this patch determines the set of register live-in in the
false block (possibly after simulating the liveness changes of the
duplicated instructions). Each of these live-in registers mustn't be
killed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192482 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/IfConversion.cpp
test/CodeGen/ARM/ifconv-kills.ll [new file with mode: 0644]