diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index db119a64954..cdfdf6f9a22 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp @@ -155,10 +155,13 @@ std::string DOTGraphTraits::getNodeLabel(const SDNode *Node, else Op += ""; } else if (const MemOperandSDNode *M = dyn_cast(Node)) { - if (M->MO.getValue()) - Op += "<" + M->MO.getValue()->getName() + ":" + itostr(M->MO.getOffset()) + ">"; - else - Op += "MO.getOffset()) + ">"; + if (M->MO.getValue()) { + std::ostringstream SS; + M->MO.getValue()->print(SS); + Op += "<" + SS.str() + "+" + itostr(M->MO.getOffset()) + ">"; + } else { + Op += "<(unknown)+" + itostr(M->MO.getOffset()) + ">"; + } } else if (const ARG_FLAGSSDNode *N = dyn_cast(Node)) { Op = Op + " AF=" + N->getArgFlags().getArgFlagsString(); } else if (const VTSDNode *N = dyn_cast(Node)) {