Rearrange code, indent for the namespace, add the createMachineFunctionPrinterPass
authorChris Lattner <sabre@nondot.org>
Sat, 20 Dec 2003 10:18:58 +0000 (10:18 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 20 Dec 2003 10:18:58 +0000 (10:18 +0000)
to passes.h, and add the machien destruction pass to Passes.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10557 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/MachineFunction.h
include/llvm/CodeGen/Passes.h

index 2eb6fa798c58fcf10a133e0e444a3833da1b2cdb..4f255598d385e76cbdd838e19d54f75d15b1491f 100644 (file)
@@ -26,14 +26,11 @@ namespace llvm {
 
 class Function;
 class TargetMachine;
-class FunctionPass;
 class SSARegMap;
 class MachineFunctionInfo;
 class MachineFrameInfo;
 class MachineConstantPool;
 
-FunctionPass *createMachineFunctionPrinterPass();
-
 class MachineFunction : private Annotation {
   const Function *Fn;
   const TargetMachine &Target;
@@ -103,7 +100,6 @@ public:
   // get()       -- Returns a handle to the object.
   //                This should not be called before "construct()"
   //                for a given Method.
-  // destruct()  -- Destroy the MachineFunction object
   // 
   static MachineFunction& construct(const Function *F, const TargetMachine &TM);
   static void destruct(const Function *F);
index 3aee4ce6946fae571f9e0eb9c07c4974676abfee..409f900a13790f659cc6b642a81910255baf18c0 100644 (file)
 
 namespace llvm {
 
-class FunctionPass;
-class PassInfo;
-class TargetMachine;
+  class FunctionPass;
+  class PassInfo;
+  class TargetMachine;
+  
+  /// MachineFunctionPrinter pass - This pass prints out the machine function to
+  /// standard error, as a debugging tool.
+  FunctionPass *createMachineFunctionPrinterPass();
+    
+  /// PHIElimination pass - This pass eliminates machine instruction PHI nodes
+  /// by inserting copy instructions.  This destroys SSA information, but is the
+  /// desired input for some register allocators.  This pass is "required" by
+  /// these register allocator like this: AU.addRequiredID(PHIEliminationID);
+  ///
+  extern const PassInfo *PHIEliminationID;
 
-// PHIElimination pass - This pass eliminates machine instruction PHI nodes by
-// inserting copy instructions.  This destroys SSA information, but is the
-// desired input for some register allocators.  This pass is "required" by these
-// register allocator like this:  AU.addRequiredID(PHIEliminationID);
-//
-extern const PassInfo *PHIEliminationID;
-
-// TwoAddressInstruction pass - This pass reduces two-address
-// instructions to use two operands. This destroys SSA information but
-// it is desired by register allocators.
-extern const PassInfo *TwoAddressInstructionPassID;
-
-/// Creates a register allocator as the user specified on the command
-/// line.
-FunctionPass *createRegisterAllocator();
-
-/// SimpleRegisterAllocation Pass - This pass converts the input machine code
-/// from SSA form to use explicit registers by spilling every register.  Wow,
-/// great policy huh?
-///
-FunctionPass *createSimpleRegisterAllocator();
+  /// TwoAddressInstruction pass - This pass reduces two-address instructions to
+  /// use two operands. This destroys SSA information but it is desired by
+  /// register allocators.
+  extern const PassInfo *TwoAddressInstructionPassID;
 
-/// 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.
-/// 
-FunctionPass *createLocalRegisterAllocator();
+  /// Creates a register allocator as the user specified on the command line.
+  ///
+  FunctionPass *createRegisterAllocator();
 
-/// LinearScanRegisterAllocation Pass - This pass implements the
-/// linear scan register allocation algorithm, a global register
-/// allocator.
-///
-FunctionPass *createLinearScanRegisterAllocator();
+  /// SimpleRegisterAllocation Pass - This pass converts the input machine code
+  /// from SSA form to use explicit registers by spilling every register.  Wow,
+  /// great policy huh?
+  ///
+  FunctionPass *createSimpleRegisterAllocator();
 
-/// PrologEpilogCodeInserter Pass - This pass inserts prolog and epilog code,
-/// and eliminates abstract frame references.
-///
-FunctionPass *createPrologEpilogCodeInserter();
+  /// 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.
+  /// 
+  FunctionPass *createLocalRegisterAllocator();
+  
+  /// LinearScanRegisterAllocation Pass - This pass implements the linear scan
+  /// register allocation algorithm, a global register allocator.
+  ///
+  FunctionPass *createLinearScanRegisterAllocator();
 
-/// getRegisterAllocator - This creates an instance of the register allocator
-/// for the Sparc.
-FunctionPass *getRegisterAllocator(TargetMachine &T);
+  /// PrologEpilogCodeInserter Pass - This pass inserts prolog and epilog code,
+  /// and eliminates abstract frame references.
+  ///
+  FunctionPass *createPrologEpilogCodeInserter();
 
+  /// MachineCodeDeletion Pass - This pass deletes all of the machine code for
+  /// the current function, which should happen after the function has been
+  /// emitted to a .s file or to memory.
+  FunctionPass *createMachineCodeDeleter();
+    
+  /// getRegisterAllocator - This creates an instance of the register allocator
+  /// for the Sparc.
+  FunctionPass *getRegisterAllocator(TargetMachine &T);
 } // End llvm namespace
 
 #endif