From 19df3876e6dce016ec4c5ab28320a246ab285001 Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Wed, 13 Aug 2003 18:18:15 +0000 Subject: [PATCH] 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 --- include/llvm/CodeGen/MachineFunction.h | 8 ++++---- include/llvm/CodeGen/Passes.h | 8 ++++---- include/llvm/Transforms/Scalar.h | 3 ++- lib/CodeGen/MachineFunction.cpp | 6 +++--- lib/CodeGen/PrologEpilogInserter.cpp | 2 +- lib/CodeGen/RegAllocLocal.cpp | 2 +- lib/CodeGen/RegAllocSimple.cpp | 2 +- lib/Target/X86/FloatingPoint.cpp | 2 +- lib/Target/X86/InstSelectPattern.cpp | 2 +- lib/Target/X86/InstSelectSimple.cpp | 2 +- lib/Target/X86/PeepholeOptimizer.cpp | 2 +- lib/Target/X86/X86FloatingPoint.cpp | 2 +- lib/Target/X86/X86ISelPattern.cpp | 2 +- lib/Target/X86/X86ISelSimple.cpp | 2 +- lib/Target/X86/X86PeepholeOpt.cpp | 2 +- lib/Transforms/Utils/LowerSwitch.cpp | 2 +- 16 files changed, 25 insertions(+), 24 deletions(-) diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h index db6c1ca3785..4adb48c4aa7 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 9057fd0268c..00dbfe29c8e 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 @@ extern const PassInfo *PHIEliminationID; /// 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 8a29079835b..2ee3c46cba9 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 @@ Pass *createRaiseAllocationsPass(); // 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 85bf4b6a272..f7aadc317e2 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -80,15 +80,15 @@ namespace { }; } -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 06de9bf0240..13cd353362a 100644 --- a/lib/CodeGen/PrologEpilogInserter.cpp +++ b/lib/CodeGen/PrologEpilogInserter.cpp @@ -62,7 +62,7 @@ namespace { /// 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 1b84b30f57f..26269e1808c 100644 --- a/lib/CodeGen/RegAllocLocal.cpp +++ b/lib/CodeGen/RegAllocLocal.cpp @@ -643,6 +643,6 @@ bool RA::runOnMachineFunction(MachineFunction &Fn) { return true; } -Pass *createLocalRegisterAllocator() { +FunctionPass *createLocalRegisterAllocator() { return new RA(); } diff --git a/lib/CodeGen/RegAllocSimple.cpp b/lib/CodeGen/RegAllocSimple.cpp index cb08986d143..ba571e4116e 100644 --- a/lib/CodeGen/RegAllocSimple.cpp +++ b/lib/CodeGen/RegAllocSimple.cpp @@ -224,6 +224,6 @@ bool RegAllocSimple::runOnMachineFunction(MachineFunction &Fn) { return true; } -Pass *createSimpleRegisterAllocator() { +FunctionPass *createSimpleRegisterAllocator() { return new RegAllocSimple(); } diff --git a/lib/Target/X86/FloatingPoint.cpp b/lib/Target/X86/FloatingPoint.cpp index f451a234772..d620599fb13 100644 --- a/lib/Target/X86/FloatingPoint.cpp +++ b/lib/Target/X86/FloatingPoint.cpp @@ -117,7 +117,7 @@ namespace { }; } -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 4b9e381ec17..680cc8fc6c7 100644 --- a/lib/Target/X86/InstSelectPattern.cpp +++ b/lib/Target/X86/InstSelectPattern.cpp @@ -112,6 +112,6 @@ void ISel::expandArguments(SelectionDAG &SD, MachineFunction &F) { /// 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 d66f7c225e4..2cc4e8367df 100644 --- a/lib/Target/X86/InstSelectSimple.cpp +++ b/lib/Target/X86/InstSelectSimple.cpp @@ -2105,6 +2105,6 @@ void ISel::visitFreeInst(FreeInst &I) { /// 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 ae7c0621e17..559baeeae9d 100644 --- a/lib/Target/X86/PeepholeOptimizer.cpp +++ b/lib/Target/X86/PeepholeOptimizer.cpp @@ -19,7 +19,7 @@ namespace { }; } -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 f451a234772..d620599fb13 100644 --- a/lib/Target/X86/X86FloatingPoint.cpp +++ b/lib/Target/X86/X86FloatingPoint.cpp @@ -117,7 +117,7 @@ namespace { }; } -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 4b9e381ec17..680cc8fc6c7 100644 --- a/lib/Target/X86/X86ISelPattern.cpp +++ b/lib/Target/X86/X86ISelPattern.cpp @@ -112,6 +112,6 @@ void ISel::expandArguments(SelectionDAG &SD, MachineFunction &F) { /// 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 d66f7c225e4..2cc4e8367df 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -2105,6 +2105,6 @@ void ISel::visitFreeInst(FreeInst &I) { /// 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 ae7c0621e17..559baeeae9d 100644 --- a/lib/Target/X86/X86PeepholeOpt.cpp +++ b/lib/Target/X86/X86PeepholeOpt.cpp @@ -19,7 +19,7 @@ namespace { }; } -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 f71c08c3cfd..c0e9e0dcd33 100644 --- a/lib/Transforms/Utils/LowerSwitch.cpp +++ b/lib/Transforms/Utils/LowerSwitch.cpp @@ -30,7 +30,7 @@ namespace { } // createLowerSwitchPass - Interface to this file... -Pass *createLowerSwitchPass() { +FunctionPass *createLowerSwitchPass() { return new LowerSwitch(); }