Compute node offsets correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9895 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp
index 2883899..d53c7fa 100644
--- a/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/lib/Analysis/DataStructure/DataStructure.cpp
@@ -1652,13 +1652,13 @@
if (Entry.getNode()) {
// Termination of recursion!
assert(Entry.getNode() == N2 &&
- Entry.getOffset() == (NH1.getOffset()+NH2.getOffset()) &&
+ Entry.getOffset() == (NH2.getOffset()-NH1.getOffset()) &&
"Inconsistent mapping detected!");
return;
}
Entry.setNode(N2);
- Entry.setOffset(NH1.getOffset()+NH2.getOffset());
+ Entry.setOffset(NH2.getOffset()-NH1.getOffset());
// Loop over all of the fields that N1 and N2 have in common, recursively
// mapping the edges together now.