Method now returns null, dtor is inlined
authorChris Lattner <sabre@nondot.org>
Mon, 19 Jul 2004 00:55:35 +0000 (00:55 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 19 Jul 2004 00:55:35 +0000 (00:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14983 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Globals.cpp

index e35d801f8a555883ac3fdb7ee795bfd0c4baae5a..ea8770101147569e4e3c51ad261dcc8c009f1705 100644 (file)
@@ -50,25 +50,15 @@ static bool removeDeadConstantUsers(Constant* C) {
 /// This function returns true if the global value is now dead.  If all 
 /// users of this global are not dead, this method may return false and
 /// leave some of them around.
-bool GlobalValue::removeDeadConstantUsers() {
+void GlobalValue::removeDeadConstantUsers() {
   while(!use_empty()) {
     if (Constant* User = dyn_cast<Constant>(use_back())) {
       if (!::removeDeadConstantUsers(User))
-        return false; // Constant wasn't dead
+        return; // Constant wasn't dead
     } else {
-      return false; // Non-constant usage;
+      return; // Non-constant usage;
     }
   }
-  return true;
-}
-
-/// This virtual destructor is responsible for deleting any transitively dead
-/// Constants that are using the GlobalValue.
-GlobalValue::~GlobalValue() {
-  // Its an error to attempt destruction with non-constant uses remaining.
-  bool okay_to_destruct = removeDeadConstantUsers();
-  assert(okay_to_destruct && 
-         "Can't destroy GlobalValue with non-constant uses.");
 }
 
 /// Override destroyConstant to make sure it doesn't get called on