diff options
| author | Owen Anderson <resistor@mac.com> | 2014-08-28 17:49:58 +0000 |
|---|---|---|
| committer | Owen Anderson <resistor@mac.com> | 2014-08-28 17:49:58 +0000 |
| commit | 3eb910b4041d51f80f94216651fd274c6416246e (patch) | |
| tree | af9bec01905fc3b4a9939a28c3242bd8b98e1a7a /llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | |
| parent | 455f42c9e8309593cc80de055453e128dbadba26 (diff) | |
| download | bcm5719-llvm-3eb910b4041d51f80f94216651fd274c6416246e.tar.gz bcm5719-llvm-3eb910b4041d51f80f94216651fd274c6416246e.zip | |
Do not introduce new shuffle patterns after operation legalization if SHUFFLE_VECTOR
was marked custom. The target independent DAG combine has no way to know if
the shuffles it is introducing are ones that the target could support or not.
llvm-svn: 216678
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index ebe7049fa09..3e5a7e41042 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -10316,8 +10316,7 @@ SDValue DAGCombiner::visitBUILD_VECTOR(SDNode *N) { // at most two distinct vectors, turn this into a shuffle node. // May only combine to shuffle after legalize if shuffle is legal. - if (LegalOperations && - !TLI.isOperationLegalOrCustom(ISD::VECTOR_SHUFFLE, VT)) + if (LegalOperations && !TLI.isOperationLegal(ISD::VECTOR_SHUFFLE, VT)) return SDValue(); SDValue VecIn1, VecIn2; |

