diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 14f82a0c58c..8ea2c4ad8be 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -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 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(F->begin()->getTerminator()) && - &F->begin()->front() == F->begin()->getTerminator()) { - Ctors.erase(Ctors.begin()+i); - MadeChange = true; - --i; - ++NumEmptyCtor; - continue; - } } if (!MadeChange) return false;