diff options
author | Chris Lattner <sabre@nondot.org> | 2004-06-23 06:29:59 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-06-23 06:29:59 +0000 |
commit | 0441388affe47d1219e1f37665844df7b0bdd657 (patch) | |
tree | 3a2574f18b06aefc4c10c7bbf386e92bc69c567e /llvm/lib/Analysis/DataStructure/DataStructure.cpp | |
parent | 1ea8447089a1b71373ea00473f5d453e143fc251 (diff) | |
download | bcm5719-llvm-0441388affe47d1219e1f37665844df7b0bdd657.tar.gz bcm5719-llvm-0441388affe47d1219e1f37665844df7b0bdd657.zip |
Fix merging of nodes whose incoming offset is not zero. This unbreaks DSA on
several mallocbench programs, including perl.
llvm-svn: 14342
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/DataStructure.cpp')
-rw-r--r-- | llvm/lib/Analysis/DataStructure/DataStructure.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/DataStructure/DataStructure.cpp b/llvm/lib/Analysis/DataStructure/DataStructure.cpp index a15f3743d83..53c39f9047c 100644 --- a/llvm/lib/Analysis/DataStructure/DataStructure.cpp +++ b/llvm/lib/Analysis/DataStructure/DataStructure.cpp @@ -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); } } |