[ARM] A predicate cast of a predicate cast is a predicate cast
commit3be9fc5a0db964d9e37e4e5940d73c35bf6cac4d
authorDavid Green <david.green@arm.com>
Mon, 16 Sep 2019 17:29:07 +0000 (16 17:29 +0000)
committerDavid Green <david.green@arm.com>
Mon, 16 Sep 2019 17:29:07 +0000 (16 17:29 +0000)
tree1fd5b34896d32a05a3960fa03c9bf50d847d43b9
parentd1f4a55c8c94c757e0335683f93c08f7c8fe0568
[ARM] A predicate cast of a predicate cast is a predicate cast

The adds some very basic folding of PREDICATE_CASTS, removing cases when they
are chained together. These would already be removed eventually, as these are
lowered to copies. This just allows it to happen earlier, which can help other
simplifications.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372012 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/Thumb2/mve-masked-ldst.ll
test/CodeGen/Thumb2/mve-pred-bitcast.ll
test/CodeGen/Thumb2/mve-pred-loadstore.ll