summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2014-08-28 17:49:58 +0000
committerOwen Anderson <resistor@mac.com>2014-08-28 17:49:58 +0000
commit3eb910b4041d51f80f94216651fd274c6416246e (patch)
treeaf9bec01905fc3b4a9939a28c3242bd8b98e1a7a /llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
parent455f42c9e8309593cc80de055453e128dbadba26 (diff)
downloadbcm5719-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.cpp3
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;
OpenPOWER on IntegriCloud