namespace {
struct DeadInstElimination : public BasicBlockPass {
- const char *getPassName() const { return "Dead Instruction Elimination"; }
-
virtual bool runOnBasicBlock(BasicBlock &BB) {
bool Changed = false;
for (BasicBlock::iterator DI = BB.begin(); DI != BB.end(); )
AU.preservesCFG();
}
};
+
+ RegisterOpt<DeadInstElimination> X("die", "Dead Instruction Elimination");
}
Pass *createDeadInstEliminationPass() {
namespace {
struct DCE : public FunctionPass {
- const char *getPassName() const { return "Dead Code Elimination"; }
-
virtual bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.preservesCFG();
}
};
+
+ RegisterOpt<DCE> Y("dce", "Dead Code Elimination");
}
bool DCE::runOnFunction(Function &F) {