diff options
author | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-23 14:19:52 +0000 |
---|---|---|
committer | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-23 14:19:52 +0000 |
commit | 4a142eb28942073eb27a112b5ca1cca3f01beb9c (patch) | |
tree | 22cc59e4b240d84c3a5a60531119c4eca914a256 /utils/TableGen/DAGISelEmitter.cpp | |
parent | 5cd822fa9bbb9622241e3bf4d7674ed49ccde5b9 (diff) |
Diffstat (limited to 'utils/TableGen/DAGISelEmitter.cpp')
-rw-r--r-- | utils/TableGen/DAGISelEmitter.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp index dcf64e444c89..bbb8a18eec2c 100644 --- a/utils/TableGen/DAGISelEmitter.cpp +++ b/utils/TableGen/DAGISelEmitter.cpp @@ -2067,8 +2067,16 @@ void DAGISelEmitter::EmitInstructionSelector(raw_ostream &OS) { << " errs() << \"Cannot yet select: \";\n" << " unsigned iid = cast<ConstantSDNode>(N.getOperand(" << "N.getOperand(0).getValueType() == MVT::Other))->getZExtValue();\n" - << " llvm_report_error(\"Cannot yet select: intrinsic %\" +\n" - << "Intrinsic::getName((Intrinsic::ID)iid));\n" + << " if (iid < Intrinsic::num_intrinsics)\n" + << " llvm_report_error(\"Cannot yet select: intrinsic %\" + " + << "Intrinsic::getName((Intrinsic::ID)iid));\n"; + if (CGP.hasTargetIntrinsics()) { + OS << " else if (const TargetIntrinsicInfo *tii = TM.getIntrinsicInfo())\n" + << " llvm_report_error(Twine(\"Cannot yet select: target intrinsic " + << "%\") + tii->getName(iid));\n"; + } + OS << " else\n" + << " llvm_report_error(\"Cannot yet select: invalid intrinsic\");\n" << "}\n\n"; } |