diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 4b7863d..7ac8ea8 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -3242,7 +3242,7 @@
   // If there is only one value, this is easy.
   if (getNumValues() == 1)
     return use_size() == NUses;
-  if (Uses.size() < NUses) return false;
+  if (use_size() < NUses) return false;
 
   SDOperand TheValue(const_cast<SDNode *>(this), Value);
 
@@ -3265,6 +3265,31 @@
 }
 
 
+/// hasAnyUseOfValue - Return true if there are any use of the indicated
+/// value. This method ignores uses of other values defined by this operation.
+bool SDNode::hasAnyUseOfValue(unsigned Value) const {
+  assert(Value < getNumValues() && "Bad value!");
+
+  if (use_size() == 0) return false;
+
+  SDOperand TheValue(const_cast<SDNode *>(this), Value);
+
+  SmallPtrSet<SDNode*, 32> UsersHandled;
+
+  for (SDNode::use_iterator UI = Uses.begin(), E = Uses.end(); UI != E; ++UI) {
+    SDNode *User = *UI;
+    if (User->getNumOperands() == 1 ||
+        UsersHandled.insert(User))     // First time we've seen this?
+      for (unsigned i = 0, e = User->getNumOperands(); i != e; ++i)
+        if (User->getOperand(i) == TheValue) {
+          return true;
+        }
+  }
+
+  return false;
+}
+
+
 /// isOnlyUse - Return true if this node is the only use of N.
 ///
 bool SDNode::isOnlyUse(SDNode *N) const {
