// DeadInstElimination pass implementation
//
struct VISIBILITY_HIDDEN DeadInstElimination : public BasicBlockPass {
+ static const int ID; // Pass identifcation, replacement for typeid
+ DeadInstElimination() : BasicBlockPass(intptr_t(&ID)) {}
virtual bool runOnBasicBlock(BasicBlock &BB) {
bool Changed = false;
for (BasicBlock::iterator DI = BB.begin(); DI != BB.end(); )
}
};
+ const int DeadInstElimination::ID = 0;
RegisterPass<DeadInstElimination> X("die", "Dead Instruction Elimination");
}
// DeadCodeElimination pass implementation
//
struct DCE : public FunctionPass {
+ static const int ID; // Pass identifcation, replacement for typeid
+ DCE() : FunctionPass((intptr_t)&ID) {}
+
virtual bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
}
};
+ const int DCE::ID = 0;
RegisterPass<DCE> Y("dce", "Dead Code Elimination");
}