[llvm] r324061 - [SelectionDAG] Add an assert in getNode() for EXTRACT_VECTOR_ELT.

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 2 00:21:53 PST 2018


Author: jonpa
Date: Fri Feb  2 00:21:53 2018
New Revision: 324061

URL: http://llvm.org/viewvc/llvm-project?rev=324061&view=rev
Log:
[SelectionDAG]  Add an assert in getNode() for EXTRACT_VECTOR_ELT.

When getNode() is called to create an EXTRACT_VECTOR_ELT, assert that
the result VT is at least as wide as the vector element type.

Review: Eli Friedman

Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp?rev=324061&r1=324060&r2=324061&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Feb  2 00:21:53 2018
@@ -4450,6 +4450,10 @@ SDValue SelectionDAG::getNode(unsigned O
     break;
   }
   case ISD::EXTRACT_VECTOR_ELT:
+    assert(VT.getSizeInBits() >= N1.getValueType().getScalarSizeInBits() &&
+           "The result of EXTRACT_VECTOR_ELT must be at least as wide as the \
+             element type of the vector.");
+
     // EXTRACT_VECTOR_ELT of an UNDEF is an UNDEF.
     if (N1.isUndef())
       return getUNDEF(VT);




More information about the llvm-commits mailing list