diff options
author | Chris Lattner <sabre@nondot.org> | 2009-06-26 05:55:43 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-06-26 05:55:43 +0000 |
commit | 68bb4e0e01dab81086f4cf1eb17367526a83e730 (patch) | |
tree | 53ceccc27264d39b65aefe86b5e426a6b106d6c8 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | |
parent | 17dcba9da4b09c2f325b89efdcf769f9f3e955f3 (diff) | |
download | bcm5719-llvm-68bb4e0e01dab81086f4cf1eb17367526a83e730.tar.gz bcm5719-llvm-68bb4e0e01dab81086f4cf1eb17367526a83e730.zip |
dot graph viewing is apparently not using SDNode::print_details, this is bad,
but in the meantime lets print targetflags on node labels.
llvm-svn: 74274
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index 5a7b3fd75dc..f3ac22ea88d 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp @@ -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(); |