Factory methods for FunctionPasses now return type FunctionPass *.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h
index db6c1ca..4adb48c 100644
--- a/include/llvm/CodeGen/MachineFunction.h
+++ b/include/llvm/CodeGen/MachineFunction.h
@@ -17,15 +17,15 @@
 
 class Function;
 class TargetMachine;
-class Pass;
+class FunctionPass;
 class SSARegMap;
 class MachineFunctionInfo;
 class MachineFrameInfo;
 class MachineConstantPool;
 
-Pass *createMachineCodeConstructionPass(TargetMachine &TM);
-Pass *createMachineCodeDestructionPass();
-Pass *createMachineFunctionPrinterPass();
+FunctionPass *createMachineCodeConstructionPass(TargetMachine &TM);
+FunctionPass *createMachineCodeDestructionPass();
+FunctionPass *createMachineFunctionPrinterPass();
 
 class MachineFunction : private Annotation {
   const Function *Fn;
diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h
index 9057fd0..00dbfe2 100644
--- a/include/llvm/CodeGen/Passes.h
+++ b/include/llvm/CodeGen/Passes.h
@@ -8,7 +8,7 @@
 #ifndef LLVM_CODEGEN_PASSES_H
 #define LLVM_CODEGEN_PASSES_H
 
-class Pass;
+class FunctionPass;
 class PassInfo;
 
 // PHIElimination pass - This pass eliminates machine instruction PHI nodes by
@@ -22,17 +22,17 @@
 /// from SSA form to use explicit registers by spilling every register.  Wow,
 /// great policy huh?
 ///
-Pass *createSimpleRegisterAllocator();
+FunctionPass *createSimpleRegisterAllocator();
 
 /// LocalRegisterAllocation Pass - This pass register allocates the input code a
 /// basic block at a time, yielding code better than the simple register
 /// allocator, but not as good as a global allocator.
 /// 
-Pass *createLocalRegisterAllocator();
+FunctionPass *createLocalRegisterAllocator();
 
 /// PrologEpilogCodeInserter Pass - This pass inserts prolog and epilog code,
 /// and eliminates abstract frame references.
 ///
-Pass *createPrologEpilogCodeInserter();
+FunctionPass *createPrologEpilogCodeInserter();
 
 #endif
diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h
index 8a29079..2ee3c46 100644
--- a/include/llvm/Transforms/Scalar.h
+++ b/include/llvm/Transforms/Scalar.h
@@ -9,6 +9,7 @@
 #define LLVM_TRANSFORMS_SCALAR_H
 
 class Pass;
+class FunctionPass;
 class GetElementPtrInst;
 class PassInfo;
 class TerminatorInst;
@@ -244,7 +245,7 @@
 // This pass converts SwitchInst instructions into a sequence of chained binary
 // branch instructions.
 //
-Pass *createLowerSwitchPass();
+FunctionPass *createLowerSwitchPass();
 
 //===----------------------------------------------------------------------===//
 //
diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp
index 85bf4b6..f7aadc3 100644
--- a/lib/CodeGen/MachineFunction.cpp
+++ b/lib/CodeGen/MachineFunction.cpp
@@ -80,15 +80,15 @@
   };
 }
 
-Pass *createMachineCodeConstructionPass(TargetMachine &Target) {
+FunctionPass *createMachineCodeConstructionPass(TargetMachine &Target) {
   return new ConstructMachineFunction(Target);
 }
 
-Pass *createMachineCodeDestructionPass() {
+FunctionPass *createMachineCodeDestructionPass() {
   return new DestroyMachineFunction();
 }
 
-Pass *createMachineFunctionPrinterPass() {
+FunctionPass *createMachineFunctionPrinterPass() {
   return new Printer();
 }
 
diff --git a/lib/CodeGen/PrologEpilogInserter.cpp b/lib/CodeGen/PrologEpilogInserter.cpp
index 06de9bf..13cd353 100644
--- a/lib/CodeGen/PrologEpilogInserter.cpp
+++ b/lib/CodeGen/PrologEpilogInserter.cpp
@@ -62,7 +62,7 @@
 /// createPrologEpilogCodeInserter - This function returns a pass that inserts
 /// prolog and epilog code, and eliminates abstract frame references.
 ///
-Pass *createPrologEpilogCodeInserter() { return new PEI(); }
+FunctionPass *createPrologEpilogCodeInserter() { return new PEI(); }
 
 
 /// saveCallerSavedRegisters - Scan the function for modified caller saved
diff --git a/lib/CodeGen/RegAllocLocal.cpp b/lib/CodeGen/RegAllocLocal.cpp
index 1b84b30..26269e1 100644
--- a/lib/CodeGen/RegAllocLocal.cpp
+++ b/lib/CodeGen/RegAllocLocal.cpp
@@ -643,6 +643,6 @@
   return true;
 }
 
-Pass *createLocalRegisterAllocator() {
+FunctionPass *createLocalRegisterAllocator() {
   return new RA();
 }
diff --git a/lib/CodeGen/RegAllocSimple.cpp b/lib/CodeGen/RegAllocSimple.cpp
index cb08986..ba571e4 100644
--- a/lib/CodeGen/RegAllocSimple.cpp
+++ b/lib/CodeGen/RegAllocSimple.cpp
@@ -224,6 +224,6 @@
   return true;
 }
 
-Pass *createSimpleRegisterAllocator() {
+FunctionPass *createSimpleRegisterAllocator() {
   return new RegAllocSimple();
 }
diff --git a/lib/Target/X86/FloatingPoint.cpp b/lib/Target/X86/FloatingPoint.cpp
index f451a23..d620599 100644
--- a/lib/Target/X86/FloatingPoint.cpp
+++ b/lib/Target/X86/FloatingPoint.cpp
@@ -117,7 +117,7 @@
   };
 }
 
-Pass *createX86FloatingPointStackifierPass() { return new FPS(); }
+FunctionPass *createX86FloatingPointStackifierPass() { return new FPS(); }
 
 /// runOnMachineFunction - Loop over all of the basic blocks, transforming FP
 /// register references into FP stack references.
diff --git a/lib/Target/X86/InstSelectPattern.cpp b/lib/Target/X86/InstSelectPattern.cpp
index 4b9e381..680cc8f 100644
--- a/lib/Target/X86/InstSelectPattern.cpp
+++ b/lib/Target/X86/InstSelectPattern.cpp
@@ -112,6 +112,6 @@
 /// into a machine code representation using pattern matching and a machine
 /// description file.
 ///
-Pass *createX86PatternInstructionSelector(TargetMachine &TM) {
+FunctionPass *createX86PatternInstructionSelector(TargetMachine &TM) {
   return new ISel(TM);  
 }
diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp
index d66f7c2..2cc4e83 100644
--- a/lib/Target/X86/InstSelectSimple.cpp
+++ b/lib/Target/X86/InstSelectSimple.cpp
@@ -2105,6 +2105,6 @@
 /// into a machine code representation is a very simple peep-hole fashion.  The
 /// generated code sucks but the implementation is nice and simple.
 ///
-Pass *createX86SimpleInstructionSelector(TargetMachine &TM) {
+FunctionPass *createX86SimpleInstructionSelector(TargetMachine &TM) {
   return new ISel(TM);
 }
diff --git a/lib/Target/X86/PeepholeOptimizer.cpp b/lib/Target/X86/PeepholeOptimizer.cpp
index ae7c062..559baee 100644
--- a/lib/Target/X86/PeepholeOptimizer.cpp
+++ b/lib/Target/X86/PeepholeOptimizer.cpp
@@ -19,7 +19,7 @@
   };
 }
 
-Pass *createX86PeepholeOptimizerPass() { return new PH(); }
+FunctionPass *createX86PeepholeOptimizerPass() { return new PH(); }
 
 bool PH::runOnMachineFunction(MachineFunction &MF) {
   bool Changed = false;
diff --git a/lib/Target/X86/X86FloatingPoint.cpp b/lib/Target/X86/X86FloatingPoint.cpp
index f451a23..d620599 100644
--- a/lib/Target/X86/X86FloatingPoint.cpp
+++ b/lib/Target/X86/X86FloatingPoint.cpp
@@ -117,7 +117,7 @@
   };
 }
 
-Pass *createX86FloatingPointStackifierPass() { return new FPS(); }
+FunctionPass *createX86FloatingPointStackifierPass() { return new FPS(); }
 
 /// runOnMachineFunction - Loop over all of the basic blocks, transforming FP
 /// register references into FP stack references.
diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp
index 4b9e381..680cc8f 100644
--- a/lib/Target/X86/X86ISelPattern.cpp
+++ b/lib/Target/X86/X86ISelPattern.cpp
@@ -112,6 +112,6 @@
 /// into a machine code representation using pattern matching and a machine
 /// description file.
 ///
-Pass *createX86PatternInstructionSelector(TargetMachine &TM) {
+FunctionPass *createX86PatternInstructionSelector(TargetMachine &TM) {
   return new ISel(TM);  
 }
diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp
index d66f7c2..2cc4e83 100644
--- a/lib/Target/X86/X86ISelSimple.cpp
+++ b/lib/Target/X86/X86ISelSimple.cpp
@@ -2105,6 +2105,6 @@
 /// into a machine code representation is a very simple peep-hole fashion.  The
 /// generated code sucks but the implementation is nice and simple.
 ///
-Pass *createX86SimpleInstructionSelector(TargetMachine &TM) {
+FunctionPass *createX86SimpleInstructionSelector(TargetMachine &TM) {
   return new ISel(TM);
 }
diff --git a/lib/Target/X86/X86PeepholeOpt.cpp b/lib/Target/X86/X86PeepholeOpt.cpp
index ae7c062..559baee 100644
--- a/lib/Target/X86/X86PeepholeOpt.cpp
+++ b/lib/Target/X86/X86PeepholeOpt.cpp
@@ -19,7 +19,7 @@
   };
 }
 
-Pass *createX86PeepholeOptimizerPass() { return new PH(); }
+FunctionPass *createX86PeepholeOptimizerPass() { return new PH(); }
 
 bool PH::runOnMachineFunction(MachineFunction &MF) {
   bool Changed = false;
diff --git a/lib/Transforms/Utils/LowerSwitch.cpp b/lib/Transforms/Utils/LowerSwitch.cpp
index f71c08c..c0e9e0d 100644
--- a/lib/Transforms/Utils/LowerSwitch.cpp
+++ b/lib/Transforms/Utils/LowerSwitch.cpp
@@ -30,7 +30,7 @@
 }
 
 // createLowerSwitchPass - Interface to this file...
-Pass *createLowerSwitchPass() {
+FunctionPass *createLowerSwitchPass() {
   return new LowerSwitch();
 }