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");
}