diff options
author | Jonas Paulsson <paulsson@linux.vnet.ibm.com> | 2018-02-02 08:21:53 +0000 |
---|---|---|
committer | Jonas Paulsson <paulsson@linux.vnet.ibm.com> | 2018-02-02 08:21:53 +0000 |
commit | ad089fe46e166d006c449902bed09401a8d4a44e (patch) | |
tree | d540280354c0c23135d9d23d48cd76ecedf5b05f /llvm/lib/CodeGen/SelectionDAG | |
parent | 0e50b6ed8052ab827989f2336a2f8adede3eff4b (diff) | |
download | bcm5719-llvm-ad089fe46e166d006c449902bed09401a8d4a44e.tar.gz bcm5719-llvm-ad089fe46e166d006c449902bed09401a8d4a44e.zip |
[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
llvm-svn: 324061
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 045d0ffc1f3..4e5eab49c33 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -4450,6 +4450,10 @@ SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT, 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); |