[DAGCombiner] When combining zero_extend of a truncate, only mask before extending...
authorCraig Topper <craig.topper@intel.com>
Thu, 1 Mar 2018 22:32:25 +0000 (22:32 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 1 Mar 2018 22:32:25 +0000 (22:32 +0000)
commite7ca6f5456a3b5a836a39b3c99e7d1d740883805
tree0bbc06f836bf0d6d56ee30ef7773902d9ef1bfba
parentca552b8d31e12d1068bbd3ac01f8b490712596f0
[DAGCombiner] When combining zero_extend of a truncate, only mask before extending for vectors.

Masking first, prevents the extend from being combine with loads. Its also interfering with some vXi1 extraction code.

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

llvm-svn: 326500
17 files changed:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/AArch64/arm64-aapcs.ll
llvm/test/CodeGen/AArch64/arm64-arith.ll
llvm/test/CodeGen/AArch64/bitfield.ll
llvm/test/CodeGen/NVPTX/param-load-store.ll
llvm/test/CodeGen/PowerPC/vec_extract_p9_2.ll
llvm/test/CodeGen/SystemZ/insert-05.ll
llvm/test/CodeGen/X86/3addr-or.ll
llvm/test/CodeGen/X86/avx512cd-intrinsics-upgrade.ll
llvm/test/CodeGen/X86/avx512cdvl-intrinsics-upgrade.ll
llvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
llvm/test/CodeGen/X86/memset-nonzero.ll
llvm/test/CodeGen/X86/pr27591.ll
llvm/test/CodeGen/X86/pr35763.ll
llvm/test/CodeGen/X86/sext-i1.ll
llvm/test/CodeGen/X86/swift-return.ll
llvm/test/DebugInfo/X86/sdag-combine.ll