diff options
-rw-r--r-- | utils/TableGen/DAGISelEmitter.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp index aba54284f9..81a45e1d85 100644 --- a/utils/TableGen/DAGISelEmitter.cpp +++ b/utils/TableGen/DAGISelEmitter.cpp @@ -3114,7 +3114,14 @@ void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) { // the case where nothing handles a pattern. if (mightNotMatch) OS << " std::cerr << \"Cannot yet select: \";\n" - << " N.Val->dump(CurDAG);\n" + << " if (N.getOpcode() != ISD::INTRINSIC) {\n" + << " N.Val->dump(CurDAG);\n" + << " } else {\n" + << " unsigned iid = cast<ConstantSDNode>(N.getOperand(" + "N.getOperand(0).getValueType() == MVT::Other))->getValue();\n" + << " std::cerr << \"intrinsic %\"<< " + "Intrinsic::getName((Intrinsic::ID)iid);\n" + << " }\n" << " std::cerr << '\\n';\n" << " abort();\n"; @@ -3275,7 +3282,14 @@ void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) { OS << " } // end of big switch.\n\n" << " std::cerr << \"Cannot yet select: \";\n" - << " N.Val->dump(CurDAG);\n" + << " if (N.getOpcode() != ISD::INTRINSIC) {\n" + << " N.Val->dump(CurDAG);\n" + << " } else {\n" + << " unsigned iid = cast<ConstantSDNode>(N.getOperand(" + "N.getOperand(0).getValueType() == MVT::Other))->getValue();\n" + << " std::cerr << \"intrinsic %\"<< " + "Intrinsic::getName((Intrinsic::ID)iid);\n" + << " }\n" << " std::cerr << '\\n';\n" << " abort();\n" << "}\n"; |