diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index ae0c2c8d712..c27523ae131 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -2263,7 +2263,8 @@ const char *SDNode::getOperationName(const SelectionDAG *G) const { else { if (G) if (const TargetInstrInfo *TII = G->getTarget().getInstrInfo()) - return TII->getName(getOpcode()-ISD::BUILTIN_OP_END); + if (getOpcode()-ISD::BUILTIN_OP_END < TII->getNumOpcodes()) + return TII->getName(getOpcode()-ISD::BUILTIN_OP_END); return "<>"; }