[TargetLowering] Add UNDEF folding to SimplifyDemandedVectorElts
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 10 Dec 2018 18:29:46 +0000 (18:29 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 10 Dec 2018 18:29:46 +0000 (18:29 +0000)
commitfc2c9af99c546d644757ae06b65df69f92897ab7
treedede61036a2dd2836af42643c6f60c8b8e750417
parent17e53b9299666f43e5ac0d134b53cf5981274f45
[TargetLowering] Add UNDEF folding to SimplifyDemandedVectorElts

If all the demanded elements of the SimplifyDemandedVectorElts are known to be UNDEF, we can simplify to an ISD::UNDEF node.

Zero constant folding will be handled in a future patch - its a little trickier as we often have bitcasted zero values.

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

llvm-svn: 348784
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
llvm/test/CodeGen/X86/var-permute-256.ll
llvm/test/CodeGen/X86/vector-reduce-mul-widen.ll
llvm/test/CodeGen/X86/vector-reduce-mul.ll