Remove some dead code. ctor evaluation subsumes empty ctor elim
authorChris Lattner <sabre@nondot.org>
Mon, 26 Sep 2005 20:38:20 +0000 (20:38 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 26 Sep 2005 20:38:20 +0000 (20:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23453 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/GlobalOpt.cpp

index 14f82a0c58cb35311b9748bd6ee88df99bf556f1..8ea2c4ad8beb51c602112bfa8448caf8c17b3fd4 100644 (file)
@@ -45,7 +45,6 @@ namespace {
                               "Number of global vars shrunk to booleans");
   Statistic<> NumFastCallFns("globalopt",
                              "Number of functions converted to fastcc");
-  Statistic<> NumEmptyCtor  ("globalopt", "Number of empty ctors removed");
   Statistic<> NumCtorsEvaluated("globalopt","Number of static ctors evaluated");
 
   struct GlobalOpt : public ModulePass {
@@ -926,7 +925,6 @@ bool GlobalOpt::ProcessInternalGlobal(GlobalVariable *GV,
                                       Module::global_iterator &GVI) {
   std::set<PHINode*> PHIUsers;
   GlobalStatus GS;
-  PHIUsers.clear();
   GV->removeDeadConstantUsers();
 
   if (GV->use_empty()) {
@@ -1552,16 +1550,6 @@ bool GlobalOpt::OptimizeGlobalCtorsList(GlobalVariable *&GCL) {
       ++NumCtorsEvaluated;
       continue;
     }
-    
-    // If the function is empty, just remove it from the ctor list.
-    if (isa<ReturnInst>(F->begin()->getTerminator()) &&
-        &F->begin()->front() == F->begin()->getTerminator()) {
-      Ctors.erase(Ctors.begin()+i);
-      MadeChange = true;
-      --i;
-      ++NumEmptyCtor;
-      continue;
-    }
   }
   
   if (!MadeChange) return false;