ARM: When re-creating a branch via InsertBranch, preserve CPSR flags.
authorPeter Collingbourne <peter@pcc.me.uk>
Thu, 23 Apr 2015 20:31:32 +0000 (20:31 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Thu, 23 Apr 2015 20:31:32 +0000 (20:31 +0000)
commitcfee5b04bc510e90659eeb20127f9cda0b57f71f
tree3573c1d6eae6d35b2ed28012b9c05e48334d8afd
parent652952315135e18c02c164f72bcc8da03f27b75d
ARM: When re-creating a branch via InsertBranch, preserve CPSR flags.

In particular, this preserves the kill flag, which allows the Thumb2 cbn?z
optimization to be applied in cases where a branch has been re-created after
the live variables analysis pass, e.g. by the machine block placement pass.

This appears to be low risk; a number of other targets seem to already be
doing something similar, e.g. AArch64, PowerPC.

Differential Revision: http://reviews.llvm.org/D9184

llvm-svn: 235639
llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
llvm/test/CodeGen/ARM/sjlj-prepare-critical-edge.ll
llvm/test/CodeGen/Thumb2/v8_IT_5.ll