namespace llvm {
+class FunctionPass;
class ModulePass;
class Function;
class BasicBlock;
/// createLoopExtractorPass - This pass extracts all natural loops from the
/// program into a function if it can.
///
-ModulePass *createLoopExtractorPass();
+FunctionPass *createLoopExtractorPass();
/// createSingleLoopExtractorPass - This pass extracts one natural loop from the
/// program into a function if it can. This is used by bugpoint.
///
-ModulePass *createSingleLoopExtractorPass();
+FunctionPass *createSingleLoopExtractorPass();
// createBlockExtractorPass - This pass extracts all blocks (except those
// specified in the argument list) from the functions in the module.
// createLoopExtractorPass - This pass extracts all natural loops from the
// program into a function if it can.
//
-ModulePass *llvm::createLoopExtractorPass() { return new LoopExtractor(); }
+FunctionPass *llvm::createLoopExtractorPass() { return new LoopExtractor(); }
bool LoopExtractor::runOnFunction(Function &F) {
LoopInfo &LI = getAnalysis<LoopInfo>();
// createSingleLoopExtractorPass - This pass extracts one natural loop from the
// program into a function if it can. This is used by bugpoint.
//
-ModulePass *llvm::createSingleLoopExtractorPass() {
+FunctionPass *llvm::createSingleLoopExtractorPass() {
return new SingleLoopExtractor();
}