Call nodes are never equivalent
Shadow nodes are never critical.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2102 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/DataStructure/NodeImpl.cpp b/lib/Analysis/DataStructure/NodeImpl.cpp
index 2720922..c773eb1 100644
--- a/lib/Analysis/DataStructure/NodeImpl.cpp
+++ b/lib/Analysis/DataStructure/NodeImpl.cpp
@@ -29,10 +29,10 @@
}
bool CallDSNode::isEquivalentTo(DSNode *Node) const {
+ return false;
if (CallDSNode *C = dyn_cast<CallDSNode>(Node))
- return /*C->CI == CI &&*/
- C->CI->getCalledFunction() == CI->getCalledFunction() &&
- C->ArgLinks == ArgLinks;
+ return C->CI->getCalledFunction() == CI->getCalledFunction() &&
+ C->ArgLinks == ArgLinks;
return false;
}
@@ -45,6 +45,7 @@
// any type.
//
bool ShadowDSNode::isEquivalentTo(DSNode *Node) const {
+ return getType() == Node->getType();
return !isCriticalNode(); // Must not be a critical node...
}