diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 5c460539e18..dcbd87d5666 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -364,6 +364,7 @@ static bool ProcessInternalGlobal(GlobalVariable *GV, Module::giterator &GVI) { if (GV->use_empty()) { DEBUG(std::cerr << "GLOBAL DEAD: " << *GV); + GV->getParent()->getGlobalList().erase(GV); ++NumDeleted; return true; }