OSDN Git Service

[SelectionDAG] Convert assert to condtion
authorSam Parker <sam.parker@arm.com>
Thu, 18 Jan 2018 09:22:24 +0000 (09:22 +0000)
committerSam Parker <sam.parker@arm.com>
Thu, 18 Jan 2018 09:22:24 +0000 (09:22 +0000)
Follow-up to r322120 which can cause assertions for AArch64 because
v1f64 and v1i64 are legal types.

Differential Revision: https://reviews.llvm.org/D42097

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

lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp

index 69d9fe9..ce94411 100644 (file)
@@ -171,10 +171,9 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_MERGE_VALUES(SDNode *N,
 SDValue DAGTypeLegalizer::ScalarizeVecRes_BITCAST(SDNode *N) {
   SDValue Op = N->getOperand(0);
   if (Op.getValueType().isVector()
-      && Op.getValueType().getVectorNumElements() == 1) {
-    assert(!isSimpleLegalType(Op.getValueType()));
+      && Op.getValueType().getVectorNumElements() == 1
+      && !isSimpleLegalType(Op.getValueType()))
     Op = GetScalarizedVector(Op);
-  }
   EVT NewVT = N->getValueType(0).getVectorElementType();
   return DAG.getNode(ISD::BITCAST, SDLoc(N),
                      NewVT, Op);