OSDN Git Service

dot graph viewing is apparently not using SDNode::print_details, this is bad,
authorChris Lattner <sabre@nondot.org>
Fri, 26 Jun 2009 05:55:43 +0000 (05:55 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 26 Jun 2009 05:55:43 +0000 (05:55 +0000)
but in the meantime lets print targetflags on node labels.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74274 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp

index 5a7b3fd..f3ac22e 100644 (file)
@@ -138,10 +138,15 @@ std::string DOTGraphTraits<SelectionDAG*>::getNodeLabel(const SDNode *Node,
       else
         Op += itostr(Offset);
     }
+    if (unsigned char TF = GADN->getTargetFlags())
+      Op += " [TF=" + utostr(TF) + "]";
+
   } else if (const FrameIndexSDNode *FIDN = dyn_cast<FrameIndexSDNode>(Node)) {
     Op += " " + itostr(FIDN->getIndex());
   } else if (const JumpTableSDNode *JTDN = dyn_cast<JumpTableSDNode>(Node)) {
     Op += " " + itostr(JTDN->getIndex());
+    if (unsigned char TF = JTDN->getTargetFlags())
+      Op += " [TF=" + utostr(TF) + "]";
   } else if (const ConstantPoolSDNode *CP = dyn_cast<ConstantPoolSDNode>(Node)){
     if (CP->isMachineConstantPoolEntry()) {
       Op += '<';
@@ -165,6 +170,8 @@ std::string DOTGraphTraits<SelectionDAG*>::getNodeLabel(const SDNode *Node,
       }
     }
     Op += " A=" + itostr(CP->getAlignment());
+    if (unsigned char TF = CP->getTargetFlags())
+      Op += " TF=" + utostr(TF);
   } else if (const BasicBlockSDNode *BBDN = dyn_cast<BasicBlockSDNode>(Node)) {
     Op = "BB: ";
     const Value *LBB = (const Value*)BBDN->getBasicBlock()->getBasicBlock();