'Pass' should now not be derived from by clients. Instead, they should derive

from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2004-09-20 04:48:05 +00:00
parent bba61c07dd
commit b12914bfc0
64 changed files with 193 additions and 186 deletions

View File

@ -31,14 +31,14 @@ using namespace llvm;
namespace {
Statistic<> NumMarked("constify", "Number of globals marked constant");
struct Constifier : public Pass {
bool run(Module &M);
struct Constifier : public ModulePass {
bool runOnModule(Module &M);
};
RegisterOpt<Constifier> X("constify", "Global Constifier");
}
Pass *llvm::createGlobalConstifierPass() { return new Constifier(); }
ModulePass *llvm::createGlobalConstifierPass() { return new Constifier(); }
/// A lot of global constants are stored only in trivially dead setter
/// functions. Because we don't want to cycle between globaldce and this pass,
@ -81,7 +81,7 @@ static bool isStoredThrough(Value *V, std::set<PHINode*> &PHIUsers) {
return false;
}
bool Constifier::run(Module &M) {
bool Constifier::runOnModule(Module &M) {
bool Changed = false;
std::set<PHINode*> PHIUsers;
for (Module::giterator GV = M.gbegin(), E = M.gend(); GV != E; ++GV)