diff options
author | Michael Kuperstein <mkuper@google.com> | 2016-09-28 06:13:58 +0000 |
---|---|---|
committer | Michael Kuperstein <mkuper@google.com> | 2016-09-28 06:13:58 +0000 |
commit | 3e06eafc2089f4c8ebca4ce632a29161d3a15df1 (patch) | |
tree | 12b9029f88a476142ce85a4b3733690c5a4f1668 /llvm/lib/CodeGen/SelectionDAG | |
parent | 536ff0dd2f3b5c27de5c2ad0bd19ab424aae9f09 (diff) | |
download | bcm5719-llvm-3e06eafc2089f4c8ebca4ce632a29161d3a15df1.tar.gz bcm5719-llvm-3e06eafc2089f4c8ebca4ce632a29161d3a15df1.zip |
[DAG] Remove isVectorClearMaskLegal() check from vector_build dagcombine
This check currently doesn't seem to do anything useful on any in-tree target:
On non-x86, it always evaluates to false, so we never hit the code path that
creates the shuffle with zero.
On x86, it just forwards to isShuffleMaskLegal(), which is a reasonable thing to
query in general, but doesn't make sense if only restricted to zero blends.
Differential Revision: https://reviews.llvm.org/D24625
llvm-svn: 282567
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index bd882871246..d6f61851c29 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -13064,13 +13064,6 @@ SDValue DAGCombiner::reduceBuildVecToShuffle(SDNode *N) { Mask[i] = Vec2Offset + ExtIndex; } - // Avoid introducing illegal shuffles with zero. - // TODO: This doesn't actually do anything smart at the moment. - // We should either delete this, or check legality for all the shuffles - // we create. - if (UsesZeroVector && !TLI.isVectorClearMaskLegal(Mask, VT)) - return SDValue(); - // The type the input vectors may have changed above. InVT1 = VecIn1.getValueType(); |