diff options
author | Jordan Rupprecht <rupprecht@google.com> | 2019-08-16 23:08:56 +0000 |
---|---|---|
committer | Jordan Rupprecht <rupprecht@google.com> | 2019-08-16 23:08:56 +0000 |
commit | d0797ece4641580d0c2c4a60ff3d6696b657a2e5 (patch) | |
tree | dd22c27d5eb246244ab217b01ddc81c450c7731f /llvm/lib | |
parent | 515ad8fe4acbfcd0eb6c179a61e2acb134495843 (diff) | |
download | bcm5719-llvm-d0797ece4641580d0c2c4a60ff3d6696b657a2e5.tar.gz bcm5719-llvm-d0797ece4641580d0c2c4a60ff3d6696b657a2e5.zip |
Revert [X86] SimplifyDemandedVectorElts - attempt to recombine target shuffle using DemandedElts mask (reapplied)
This reverts r368662 (git commit 1a8d790cf5f89c1df718844f13e934e39bef6ef5)
The compile-time regression repro is in https://bugs.llvm.org/show_bug.cgi?id=43024
llvm-svn: 369167
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index c9e3390c5d1..207782bc80b 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -33905,23 +33905,6 @@ bool X86TargetLowering::SimplifyDemandedVectorEltsForTargetNode( return true; } - // If we don't demand all elements, then attempt to combine to a simpler - // shuffle. - // TODO: Handle other depths, but first we need to handle the fact that - // it might combine to the same shuffle. - if (!DemandedElts.isAllOnesValue() && Depth == 0) { - SmallVector<int, 32> DemandedMask(NumElts, SM_SentinelUndef); - for (int i = 0; i != NumElts; ++i) - if (DemandedElts[i]) - DemandedMask[i] = i; - - SDValue NewShuffle = combineX86ShufflesRecursively( - {Op}, 0, Op, DemandedMask, {}, Depth, /*HasVarMask*/ false, - /*AllowVarMask*/ true, TLO.DAG, Subtarget); - if (NewShuffle) - return TLO.CombineTo(Op, NewShuffle); - } - // Extract known zero/undef elements. // TODO - Propagate input undef/zero elts. for (int i = 0; i != NumElts; ++i) { |