OSDN Git Service

SDNode::dump should also print out extension type and VT.
authorEvan Cheng <evan.cheng@apple.com>
Tue, 10 Oct 2006 20:05:10 +0000 (20:05 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 10 Oct 2006 20:05:10 +0000 (20:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30860 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index 2b7a9db..61f0a49 100644 (file)
@@ -2691,6 +2691,27 @@ void SDNode::dump(const SelectionDAG *G) const {
       std::cerr << "<null:" << M->getOffset() << ">";
   } else if (const VTSDNode *N = dyn_cast<VTSDNode>(this)) {
     std::cerr << ":" << getValueTypeString(N->getVT());
+  } else if (const LoadSDNode *LD = dyn_cast<LoadSDNode>(this)) {
+    bool doExt = true;
+    switch (LD->getExtensionType()) {
+    default: doExt = false; break;
+    case ISD::EXTLOAD:
+      std::cerr << " <anyext ";
+      break;
+    case ISD::SEXTLOAD:
+      std::cerr << " <sext ";
+      break;
+    case ISD::ZEXTLOAD:
+      std::cerr << " <zext ";
+      break;
+    }
+    if (doExt)
+      std::cerr << MVT::getValueTypeString(LD->getLoadVT()) << ">";
+
+    if (LD->getAddressingMode() == ISD::PRE_INDEXED)
+      std::cerr << " <pre>";
+    else if (LD->getAddressingMode() == ISD::POST_INDEXED)
+      std::cerr << " <post>";
   }
 }