diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index db119a6495..cdfdf6f9a2 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp @@ -155,10 +155,13 @@ std::string DOTGraphTraits<SelectionDAG*>::getNodeLabel(const SDNode *Node, else Op += "<null>"; } else if (const MemOperandSDNode *M = dyn_cast<MemOperandSDNode>(Node)) { - if (M->MO.getValue()) - Op += "<" + M->MO.getValue()->getName() + ":" + itostr(M->MO.getOffset()) + ">"; - else - Op += "<null:" + itostr(M->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<ARG_FLAGSSDNode>(Node)) { Op = Op + " AF=" + N->getArgFlags().getArgFlagsString(); } else if (const VTSDNode *N = dyn_cast<VTSDNode>(Node)) { |