If the SimplifyMultipleUseDemandedBits calls BITCASTs that peek through back to the original type then we can remove the BITCASTs entirely.
I think this is a win in all cases but wanted to double check with AMDGPU/THUMB2 guys.
Paths
| Differential D79572
[DAG] SimplifyMultipleUseDemandedBits - remove superfluous bitcasts ClosedPublic Authored by RKSimon on May 7 2020, 6:42 AM.
Details Summary If the SimplifyMultipleUseDemandedBits calls BITCASTs that peek through back to the original type then we can remove the BITCASTs entirely. I think this is a win in all cases but wanted to double check with AMDGPU/THUMB2 guys.
Diff Detail
Event Timeline
This revision is now accepted and ready to land.May 8 2020, 7:25 AM Closed by commit rG70293ba26fee: [DAG] SimplifyMultipleUseDemandedBits - remove superfluous bitcasts (authored by RKSimon). · Explain WhyMay 8 2020, 11:15 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 262910 llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
llvm/test/CodeGen/AMDGPU/fshr.ll
llvm/test/CodeGen/Thumb2/lsll0.ll
llvm/test/CodeGen/Thumb2/mve-vld3.ll
llvm/test/CodeGen/X86/bitcast-vector-bool.ll
llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
llvm/test/CodeGen/X86/shrink_vmul.ll
llvm/test/CodeGen/X86/vec_smulo.ll
llvm/test/CodeGen/X86/vec_umulo.ll
llvm/test/CodeGen/X86/vector-reduce-mul.ll
|
This is better