revert r78048, it isn't worth using assertingvh here.

llvm-svn: 78119
diff --git a/llvm/lib/VMCore/Value.cpp b/llvm/lib/VMCore/Value.cpp
index 8710b94..2cdd552 100644
--- a/llvm/lib/VMCore/Value.cpp
+++ b/llvm/lib/VMCore/Value.cpp
@@ -57,14 +57,6 @@
 }
 
 Value::~Value() {
-  // If this value is named, destroy the name.  This should not be in a symtab
-  // at this point.
-  if (Name)
-    Name->Destroy();
-  
-  // There should be no uses of this object anymore, remove it.
-  LeakDetector::removeGarbageObject(this);
-  
   // Notify all ValueHandles (if present) that this value is going away.
   if (HasValueHandle)
     ValueHandleBase::ValueIsDeleted(this);
@@ -84,6 +76,14 @@
   }
 #endif
   assert(use_empty() && "Uses remain when a value is destroyed!");
+
+  // If this value is named, destroy the name.  This should not be in a symtab
+  // at this point.
+  if (Name)
+    Name->Destroy();
+  
+  // There should be no uses of this object anymore, remove it.
+  LeakDetector::removeGarbageObject(this);
 }
 
 /// hasNUses - Return true if this Value has exactly N users.