[ARM][CGP] Allow signext arguments
authorSam Parker <sam.parker@arm.com>
Mon, 30 Sep 2019 07:52:10 +0000 (07:52 +0000)
committerSam Parker <sam.parker@arm.com>
Mon, 30 Sep 2019 07:52:10 +0000 (07:52 +0000)
commitb3438f1cc040ec37ca437ce48b6373298b4ecf9a
tree2fca9158ddeb716b6e3e5c1f8fbc657dd8d6950f
parent1249126c7c616a160a3d43c68aec87f478c7bccb
[ARM][CGP] Allow signext arguments

As we perform a zext on any arguments used in the promoted tree, it
doesn't matter if they're marked as signext. The only permitted
user(s) in the tree which would interpret the sign bits are signed
icmps. For these instructions, their promoted operands are truncated
before the icmp uses them.

Differential Revision: https://reviews.llvm.org/D68019

llvm-svn: 373186
llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp
llvm/test/CodeGen/ARM/CGP/arm-cgp-overflow.ll
llvm/test/CodeGen/ARM/CGP/arm-cgp-phis-ret.ll
llvm/test/CodeGen/ARM/CGP/arm-cgp-signed.ll