Fix some more problems where we called getOffset before getNode()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17358 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/DataStructure/Printer.cpp b/lib/Analysis/DataStructure/Printer.cpp
index c951433..67d5c27 100644
--- a/lib/Analysis/DataStructure/Printer.cpp
+++ b/lib/Analysis/DataStructure/Printer.cpp
@@ -144,9 +144,10 @@
         GW.emitSimpleNode(I->first, "", OS.str());
         
         // Add edge from return node to real destination
+        DSNode *DestNode = I->second.getNode();
         int EdgeDest = I->second.getOffset() >> DS::PointerShift;
         if (EdgeDest == 0) EdgeDest = -1;
-        GW.emitEdge(I->first, -1, I->second.getNode(),
+        GW.emitEdge(I->first, -1, DestNode,
                     EdgeDest, "arrowtail=tee,color=gray63");
       }
 
@@ -165,9 +166,10 @@
         GW.emitSimpleNode((void*)I->first, "plaintext=circle", Label);
 
         // Add edge from return node to real destination
+        DSNode *RetNode = I->second.getNode();
         int RetEdgeDest = I->second.getOffset() >> DS::PointerShift;;
         if (RetEdgeDest == 0) RetEdgeDest = -1;
-        GW.emitEdge((void*)I->first, -1, I->second.getNode(),
+        GW.emitEdge((void*)I->first, -1, RetNode,
                     RetEdgeDest, "arrowtail=tee,color=gray63");
       }