[IfConversion] Bugfix: Don't use undef flag while adding use operands.
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 3 Aug 2016 05:46:35 +0000 (05:46 +0000)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 3 Aug 2016 05:46:35 +0000 (05:46 +0000)
commit196986ca95d6bd4b78ee59a08ab7bd42614f2e25
tree0461eea56d5135469fd185de8f003bf8c619025a
parentf60c395e84781f4842c416b3aede32be6d90eed7
[IfConversion] Bugfix: Don't use undef flag while adding use operands.

IfConversion used to always add the undef flag when adding a use operand
on a newly predicated instruction. This would be an operand for the register
being conditionally redefined. Due to the undef flag, the liveness of this
register prior to the predicated instruction would get lost.

This patch changes this so that such use operands are added only when the
register is live, without the undef flag.

This was reverted but pushed again now, for details follow link below.

Reviewed by Quentin Colombet.
http://reviews.llvm.org/D209077

llvm-svn: 277571
llvm/lib/CodeGen/IfConversion.cpp