[TargetLowering] SimplifyMultipleUseDemandedBits - add BITCAST pass through support...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 27 Jul 2019 14:11:59 +0000 (14:11 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 27 Jul 2019 14:11:59 +0000 (14:11 +0000)
commit603f94aa2a1b87b3e1c5722a3ba270147111e70d
treefbce6961cce877c07292ef7dd11576d886111861
parent02b9e45a7e4b815ca23608adad957ed1c7f8d03b
[TargetLowering] SimplifyMultipleUseDemandedBits - add BITCAST pass through support (Reapplied)

This allows us to peek through BITCASTs, attempt to simplify the source operand, and then bitcast back.

This reapplies rL367091 which was reverted at rL367118 - we were inconsistently peeking through the bitcasts to the source value.

Fixes PR42777

llvm-svn: 367174
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
llvm/test/CodeGen/X86/vector-reduce-mul-widen.ll
llvm/test/CodeGen/X86/vector-reduce-mul.ll
llvm/test/CodeGen/X86/vector-reduce-umax.ll
llvm/test/CodeGen/X86/vector-reduce-umin.ll