[cleanup] Use early exit and simpler temporary variables to clarify the
authorChandler Carruth <chandlerc@gmail.com>
Tue, 4 Mar 2014 09:00:15 +0000 (09:00 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 4 Mar 2014 09:00:15 +0000 (09:00 +0000)
swap implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202802 91177308-0d34-0410-b5e6-96231b3b80d8

lib/IR/Use.cpp

index b6720e5676496789b8eed104663387965daf4d3f..5f01e238e04f711e74ac6db6cf9a275dbed5ef21 100644 (file)
 namespace llvm {
 
 void Use::swap(Use &RHS) {
-  Value *V1(Val);
-  Value *V2(RHS.Val);
-  if (V1 != V2) {
-    if (V1) {
-      removeFromList();
-    }
+  if (Val == RHS.Val)
+    return;
 
-    if (V2) {
-      RHS.removeFromList();
-      Val = V2;
-      V2->addUse(*this);
-    } else {
-      Val = 0;
-    }
+  if (Val)
+    removeFromList();
 
-    if (V1) {
-      RHS.Val = V1;
-      V1->addUse(RHS);
-    } else {
-      RHS.Val = 0;
-    }
+  Value *OldVal = Val;
+  if (RHS.Val) {
+    RHS.removeFromList();
+    Val = RHS.Val;
+    Val->addUse(*this);
+  } else {
+    Val = 0;
+  }
+
+  if (OldVal) {
+    RHS.Val = OldVal;
+    RHS.Val->addUse(RHS);
+  } else {
+    RHS.Val = 0;
   }
 }