diff --git a/lib/CodeGen/RegAlloc/IGNode.cpp b/lib/CodeGen/RegAlloc/IGNode.cpp
index c8fca7a..caee296 100644
--- a/lib/CodeGen/RegAlloc/IGNode.cpp
+++ b/lib/CodeGen/RegAlloc/IGNode.cpp
@@ -36,3 +36,19 @@
   assert( It != AdjList.end() );      // the node must be there
   AdjList.erase(It);
 }
+
+//-----------------------------------------------------------------------------
+// Get the number of unique neighbors if these two nodes are merged
+//-----------------------------------------------------------------------------
+
+unsigned
+IGNode::getCombinedDegree(const IGNode* otherNode) const
+{
+  std::vector<IGNode*> nbrs(AdjList);
+  nbrs.insert(nbrs.end(), otherNode->AdjList.begin(), otherNode->AdjList.end());
+  sort(nbrs.begin(), nbrs.end());
+  std::vector<IGNode*>::iterator new_end = unique(nbrs.begin(), nbrs.end());
+  return new_end - nbrs.begin();
+}
+
+
diff --git a/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp b/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp
index 7ad7018..2037d81 100644
--- a/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp
+++ b/lib/CodeGen/RegAlloc/LiveRangeInfo.cpp
@@ -318,6 +318,12 @@
 		  LROfDef->getUserIGNode()->getNumOfNeighbors() + 
 		  LROfUse->getUserIGNode()->getNumOfNeighbors();
 
+                if (CombinedDegree > RCOfDef->getNumOfAvailRegs()) {
+                  // get more precise estimate of combined degree
+                  CombinedDegree = LROfDef->getUserIGNode()->
+                    getCombinedDegree(LROfUse->getUserIGNode());
+                }
+
 		if (CombinedDegree <= RCOfDef->getNumOfAvailRegs()) {
 		  // if both LRs do not have suggested colors
 		  if (!(LROfDef->hasSuggestedColor() &&  
@@ -353,7 +359,10 @@
   for( ; HMI != LiveRangeMap.end(); ++HMI) {
     if (HMI->first && HMI->second) {
       cerr << " Value* " << RAV(HMI->first) << "\t: "; 
-      cerr << "LR# " << HMI->second->getUserIGNode()->getIndex();
+      if (IGNode* igNode = HMI->second->getUserIGNode())
+        cerr << "LR# " << igNode->getIndex();
+      else
+        cerr << "LR# " << "<no-IGNode>";
       cerr << "\t:Values = "; printSet(*HMI->second); cerr << "\n";
     }
   }
