[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