]> granicus.if.org Git - llvm/commitdiff
SimplifySelectOps can only handle selects with a scalar condition. Add a check
authorNadav Rotem <nadav.rotem@intel.com>
Fri, 11 Feb 2011 19:57:47 +0000 (19:57 +0000)
committerNadav Rotem <nadav.rotem@intel.com>
Fri, 11 Feb 2011 19:57:47 +0000 (19:57 +0000)
that the condition is not a vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125398 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index 1851e17187f73ab8c1fa9014097360c524fb6a54..5a7eebddf8006afa2466cf0a9b56dd19b0e278cd 100644 (file)
@@ -6872,6 +6872,9 @@ SDValue DAGCombiner::SimplifySelect(DebugLoc DL, SDValue N0,
 bool DAGCombiner::SimplifySelectOps(SDNode *TheSelect, SDValue LHS,
                                     SDValue RHS) {
 
+  // Cannot simplify select with vector condition
+  if (TheSelect->getOperand(0).getValueType().isVector()) return false;
+
   // If this is a select from two identical things, try to pull the operation
   // through the select.
   if (LHS.getOpcode() != RHS.getOpcode() ||