IntEqClasses: Let join() return the new leader
[oota-llvm.git] / lib / Support / IntEqClasses.cpp
index 11344956e4c91e4b7f8efee775fcfd04c02a0050..ff213570807c3f1954defa89d6ff301dd59d880c 100644 (file)
@@ -29,7 +29,7 @@ void IntEqClasses::grow(unsigned N) {
     EC.push_back(EC.size());
 }
 
-void IntEqClasses::join(unsigned a, unsigned b) {
+unsigned IntEqClasses::join(unsigned a, unsigned b) {
   assert(NumClasses == 0 && "join() called after compress().");
   unsigned eca = EC[a];
   unsigned ecb = EC[b];
@@ -41,6 +41,8 @@ void IntEqClasses::join(unsigned a, unsigned b) {
       EC[b] = eca, b = ecb, ecb = EC[b];
     else
       EC[a] = ecb, a = eca, eca = EC[a];
+
+  return eca;
 }
 
 unsigned IntEqClasses::findLeader(unsigned a) const {