namespace {
struct PiNodeInserter : public FunctionPass {
- const char *getPassName() const { return "Pi Node Insertion"; }
-
virtual bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.preservesCFG();
- AU.addRequired(DominatorSet::ID);
+ AU.addRequired<DominatorSet>();
}
// insertPiNodeFor - Insert a Pi node for V in the successors of BB if our
//
bool insertPiNodeFor(Value *V, BasicBlock *BB, Value *Rep = 0);
};
+
+ RegisterOpt<PiNodeInserter> X("pinodes", "Pi Node Insertion");
}
Pass *createPiNodeInsertionPass() { return new PiNodeInserter(); }