Remove useless statistic, fix some slightly broken logic
authorChris Lattner <sabre@nondot.org>
Sun, 18 Jul 2004 07:22:58 +0000 (07:22 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 18 Jul 2004 07:22:58 +0000 (07:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14958 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/GlobalDCE.cpp

index c13a99853e751e9d5c97e18c8a931e85d53fff4b..e025813fd07cccdefb4e4a85a37aed7c3369a5b7 100644 (file)
@@ -26,7 +26,6 @@ using namespace llvm;
 namespace {
   Statistic<> NumFunctions("globaldce","Number of functions removed");
   Statistic<> NumVariables("globaldce","Number of global variables removed");
-  Statistic<> NumGVs("globaldce", "Number of global values removed");
 
   struct GlobalDCE : public Pass {
     // run - Do the GlobalDCE pass on the specified module, optionally updating
@@ -171,13 +170,10 @@ void GlobalDCE::MarkUsedGlobalsAsNeeded(Constant *C) {
 // might make it deader.
 //
 bool GlobalDCE::RemoveUnusedGlobalValue(GlobalValue &GV) {
-  for (Value::use_iterator I = GV.use_begin(), E = GV.use_end(); I != E; ++I)
-    if (GlobalValue* User = dyn_cast<GlobalValue>(*I))
-      if (User->removeDeadConstantUsers()) {  // Only if unreferenced...
-        ++NumGVs;
-      }
-   return false;
- }
+  if (GV.use_empty()) return false;
+  GV.removeDeadConstantUsers();
+  return GV.use_empty();
+}
  
 // SafeToDestroyConstant - It is safe to destroy a constant iff it is only used
 // by constants itself.  Note that constants cannot be cyclic, so this test is