Changes in directory llvm/lib/CodeGen/SelectionDAG:
SelectionDAGPrinter.cpp updated: 1.40 -> 1.41 --- Log message: Make flag and chain edges visually distinguishable from value edges in DOT output. --- Diffs of the changes: (+16 -1) SelectionDAGPrinter.cpp | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletion(-) Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp:1.40 llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp:1.41 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp:1.40 Tue Oct 17 16:18:26 2006 +++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp Fri Oct 20 13:06:09 2006 @@ -41,6 +41,20 @@ const SelectionDAG *Graph) { return true; } + + /// If you want to override the dot attributes printed for a particular + /// edge, override this method. + template<typename EdgeIter> + static std::string getEdgeAttributes(const void *Node, EdgeIter EI) { + SDOperand Op = EI.getNode()->getOperand(EI.getOperand()); + MVT::ValueType VT = Op.getValueType(); + if (VT == MVT::Flag) + return "color=red,style=bold"; + else if (VT == MVT::Other) + return "style=dashed"; + return ""; + } + static std::string getNodeLabel(const SDNode *Node, const SelectionDAG *Graph); @@ -114,7 +128,8 @@ Op += LBB->getName(); //Op += " " + (const void*)BBDN->getBasicBlock(); } else if (const RegisterSDNode *R = dyn_cast<RegisterSDNode>(Node)) { - if (G && R->getReg() != 0 && MRegisterInfo::isPhysicalRegister(R->getReg())) { + if (G && R->getReg() != 0 && + MRegisterInfo::isPhysicalRegister(R->getReg())) { Op = Op + " " + G->getTarget().getRegisterInfo()->getName(R->getReg()); } else { Op += " #" + utostr(R->getReg()); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits