aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/DataStructure/DataStructure.cpp
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2006-03-27 23:39:58 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2006-03-27 23:39:58 +0000
commitd7e612bbc45e3e7a81c2a67a2f24ac0f032c235d (patch)
tree652b139b7c46305024b56a6c7b0d36d3aecbd6d9 /llvm/lib/Analysis/DataStructure/DataStructure.cpp
parent4a89e2e9ec087a17c6952ec7011456c6daad80da (diff)
downloadllvm-d7e612bbc45e3e7a81c2a67a2f24ac0f032c235d.zip
llvm-d7e612bbc45e3e7a81c2a67a2f24ac0f032c235d.tar.gz
llvm-d7e612bbc45e3e7a81c2a67a2f24ac0f032c235d.tar.bz2
If adding a link to a collapsed, node, ignore offset.
Fixes 2006-03-27-LinkedCollapsed.ll llvm-svn: 27194
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/DataStructure.cpp')
-rw-r--r--llvm/lib/Analysis/DataStructure/DataStructure.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/DataStructure/DataStructure.cpp b/llvm/lib/Analysis/DataStructure/DataStructure.cpp
index 7fabdf2..565a596 100644
--- a/llvm/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/llvm/lib/Analysis/DataStructure/DataStructure.cpp
@@ -701,6 +701,9 @@ bool DSNode::mergeTypeInfo(const Type *NewTy, unsigned Offset,
void DSNode::addEdgeTo(unsigned Offset, const DSNodeHandle &NH) {
if (NH.isNull()) return; // Nothing to do
+ if (isNodeCompletelyFolded())
+ Offset = 0;
+
DSNodeHandle &ExistingEdge = getLink(Offset);
if (!ExistingEdge.isNull()) {
// Merge the two nodes...