Print return nodes for graphs with multiple functions in them correctly
[oota-llvm.git] / lib / Analysis / DataStructure / Printer.cpp
index 9902906e19af14056ad03778d0b291e5b29c9dc0..d6f6c02cc210ecf4c4a025fa2b1f139627324024 100644 (file)
@@ -132,12 +132,12 @@ struct DOTGraphTraits<const DSGraph*> : public DefaultDOTGraphTraits {
         else
           Label = I->first->getName() + " ret node";
         // Output the return node...
-        GW.emitSimpleNode((void*)1, "plaintext=circle", Label);
+        GW.emitSimpleNode((void*)I->first, "plaintext=circle", Label);
 
         // Add edge from return node to real destination
         int RetEdgeDest = I->second.getOffset() >> DS::PointerShift;;
         if (RetEdgeDest == 0) RetEdgeDest = -1;
-        GW.emitEdge((void*)1, -1, I->second.getNode(),
+        GW.emitEdge((void*)I->first, -1, I->second.getNode(),
                     RetEdgeDest, "arrowtail=tee,color=gray63");
       }