When hitting an unsupported intrinsic, actually print it
Lower debug info to noops.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21698 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index 26be651..d54551a 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -683,6 +683,7 @@
       default:
         // FIXME: IMPLEMENT THESE.
         // readport, writeport, readio, writeio
+        std::cerr << I;
         assert(0 && "This intrinsic is not implemented yet!");
         return;
       case Intrinsic::setjmp:  RenameFn = "setjmp"; break;
@@ -691,6 +692,15 @@
       case Intrinsic::memset:  visitMemIntrinsic(I, ISD::MEMSET); return;
       case Intrinsic::memmove: visitMemIntrinsic(I, ISD::MEMMOVE); return;
 
+      case Intrinsic::dbg_stoppoint:
+      case Intrinsic::dbg_region_start:
+      case Intrinsic::dbg_region_end:
+      case Intrinsic::dbg_func_start:
+      case Intrinsic::dbg_declare:
+        if (I.getType() != Type::VoidTy)
+          setValue(&I, DAG.getNode(ISD::UNDEF, TLI.getValueType(I.getType())));
+        return;
+
       case Intrinsic::isunordered:
         setValue(&I, DAG.getSetCC(ISD::SETUO, MVT::i1,getValue(I.getOperand(1)),
                                   getValue(I.getOperand(2))));