diff --git a/llvm/include/llvm/Transforms/Scalar.h b/llvm/include/llvm/Transforms/Scalar.h index 925ebda131792..ff9980b89c4a5 100644 --- a/llvm/include/llvm/Transforms/Scalar.h +++ b/llvm/include/llvm/Transforms/Scalar.h @@ -442,7 +442,7 @@ FunctionPass *createStraightLineStrengthReducePass(); // RewriteStatepointsForGC which can be run at an arbitrary point in the pass // order following this pass. // -ModulePass *createPlaceSafepointsPass(); +FunctionPass *createPlaceSafepointsPass(); //===----------------------------------------------------------------------===// // diff --git a/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp b/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp index 06b642c73c3a6..5c3f613162509 100644 --- a/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp +++ b/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp @@ -166,20 +166,13 @@ static cl::opt NoCall("spp-no-call", cl::Hidden, cl::init(false)); static cl::opt NoBackedge("spp-no-backedge", cl::Hidden, cl::init(false)); namespace { -struct PlaceSafepoints : public ModulePass { +struct PlaceSafepoints : public FunctionPass { static char ID; // Pass identification, replacement for typeid - PlaceSafepoints() : ModulePass(ID) { + PlaceSafepoints() : FunctionPass(ID) { initializePlaceSafepointsPass(*PassRegistry::getPassRegistry()); } - bool runOnModule(Module &M) override { - bool modified = false; - for (Function &F : M) { - modified |= runOnFunction(F); - } - return modified; - } - bool runOnFunction(Function &F); + bool runOnFunction(Function &F) override; void getAnalysisUsage(AnalysisUsage &AU) const override { // We modify the graph wholesale (inlining, block insertion, etc). We @@ -755,7 +748,9 @@ bool PlaceSafepoints::runOnFunction(Function &F) { char PlaceBackedgeSafepointsImpl::ID = 0; char PlaceSafepoints::ID = 0; -ModulePass *llvm::createPlaceSafepointsPass() { return new PlaceSafepoints(); } +FunctionPass *llvm::createPlaceSafepointsPass() { + return new PlaceSafepoints(); +} INITIALIZE_PASS_BEGIN(PlaceBackedgeSafepointsImpl, "place-backedge-safepoints-impl",