diff options
author | Chris Lattner <sabre@nondot.org> | 2004-01-22 16:08:51 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-01-22 16:08:51 +0000 |
commit | 94f4b2a78b169dfd7a64d65a0e2dacfc0c44a8bc (patch) | |
tree | a5b6d7d3fd6264f75c4d74747efa7e4689849a9c /llvm | |
parent | e75ae61b476f4bf8f0175661fb0323ae0dbc3685 (diff) | |
download | bcm5719-llvm-94f4b2a78b169dfd7a64d65a0e2dacfc0c44a8bc.tar.gz bcm5719-llvm-94f4b2a78b169dfd7a64d65a0e2dacfc0c44a8bc.zip |
It doesn't make sense for one side to be const, but not the other.
llvm-svn: 10952
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/Analysis/DSNode.h | 13 | ||||
-rw-r--r-- | llvm/include/llvm/Analysis/DSSupport.h | 4 |
2 files changed, 10 insertions, 7 deletions
diff --git a/llvm/include/llvm/Analysis/DSNode.h b/llvm/include/llvm/Analysis/DSNode.h index f206c3e5ada..1008789046c 100644 --- a/llvm/include/llvm/Analysis/DSNode.h +++ b/llvm/include/llvm/Analysis/DSNode.h @@ -326,7 +326,7 @@ inline DSNode *DSNodeHandle::getNode() const { return HandleForwarding(); } -inline void DSNodeHandle::setNode(DSNode *n) { +inline void DSNodeHandle::setNode(DSNode *n) const { assert(!n || !n->getForwardNode() && "Cannot set node to a forwarded node!"); if (N) N->NumReferrers--; N = n; @@ -377,11 +377,14 @@ inline void DSNodeHandle::addEdgeTo(unsigned Off, const DSNodeHandle &Node) { /// mergeWith - Merge the logical node pointed to by 'this' with the node /// pointed to by 'N'. /// -inline void DSNodeHandle::mergeWith(const DSNodeHandle &Node) { - if (N != 0) +inline void DSNodeHandle::mergeWith(const DSNodeHandle &Node) const { + if (!isNull()) getNode()->mergeWith(Node, Offset); - else // No node to merge with, so just point to Node - *this = Node; + else { // No node to merge with, so just point to Node + Offset = 0; + setNode(Node.getNode()); + Offset = Node.getOffset(); + } } } // End llvm namespace diff --git a/llvm/include/llvm/Analysis/DSSupport.h b/llvm/include/llvm/Analysis/DSSupport.h index 15d948f897c..da8afa5a875 100644 --- a/llvm/include/llvm/Analysis/DSSupport.h +++ b/llvm/include/llvm/Analysis/DSSupport.h @@ -93,7 +93,7 @@ public: inline DSNode *getNode() const; // Defined inline in DSNode.h unsigned getOffset() const { return Offset; } - inline void setNode(DSNode *N); // Defined inline in DSNode.h + inline void setNode(DSNode *N) const; // Defined inline in DSNode.h void setOffset(unsigned O) { //assert((!N || Offset < N->Size || (N->Size == 0 && Offset == 0) || // !N->ForwardNH.isNull()) && "Node handle offset out of range!"); @@ -108,7 +108,7 @@ public: /// mergeWith - Merge the logical node pointed to by 'this' with the node /// pointed to by 'N'. /// - void mergeWith(const DSNodeHandle &N); + void mergeWith(const DSNodeHandle &N) const; // hasLink - Return true if there is a link at the specified offset... inline bool hasLink(unsigned Num) const; |