Fix merging of nodes whose incoming offset is not zero. This unbreaks DSA on

several mallocbench programs, including perl.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14342 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-06-23 06:29:59 +00:00
parent 1f2b892b4b
commit 37ec591c74

View File

@ -825,8 +825,7 @@ DSNodeHandle ReachabilityCloner::getClonedNH(const DSNodeHandle &SrcNH) {
unsigned MergeOffset = 0;
DSNode *CN = NH.getNode();
if (CN->getSize() != 1)
MergeOffset = ((i << DS::PointerShift)+NH.getOffset()
- SrcNH.getOffset()) %CN->getSize();
MergeOffset = ((i << DS::PointerShift)+NH.getOffset()) % CN->getSize();
CN->addEdgeTo(MergeOffset, DestEdge);
}
}