[llvm-commits] CVS: llvm/utils/TableGen/DAGISelEmitter.cpp
Chris Lattner
lattner at cs.uiuc.edu
Fri Mar 24 22:48:06 PST 2006
Changes in directory llvm/utils/TableGen:
DAGISelEmitter.cpp updated: 1.186 -> 1.187
---
Log message:
When failing selection for an intrinsic, print this:
Cannot yet select: intrinsic %llvm.ppc.altivec.lvx
instead of this:
Cannot yet select: 0x9b047e0: v4i32,ch = INTRINSIC 0x9b04540:1, 0x9b04710, 0x9b04790, 0x9b04540
---
Diffs of the changes: (+16 -2)
DAGISelEmitter.cpp | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.186 llvm/utils/TableGen/DAGISelEmitter.cpp:1.187
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.186 Fri Mar 24 17:10:39 2006
+++ llvm/utils/TableGen/DAGISelEmitter.cpp Sat Mar 25 00:47:53 2006
@@ -3114,7 +3114,14 @@
// 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 @@
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";
More information about the llvm-commits
mailing list