eliminate some extraneous methods in SDNode
[oota-llvm.git] / include / llvm / CodeGen / Passes.h
index 866d07ff4371a7c1dbca849b64523ce09db779f5..adccf531eb2219072c5b1cbb10de2a2937bda5a3 100644 (file)
@@ -1,10 +1,10 @@
 //===-- Passes.h - Target independent code generation passes ----*- C++ -*-===//
-// 
+//
 //                     The LLVM Compiler Infrastructure
 //
 // This file was developed by the LLVM research group and is distributed under
 // the University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
+//
 //===----------------------------------------------------------------------===//
 //
 // This file defines interfaces to access the target independent code generation
@@ -31,7 +31,7 @@ namespace llvm {
   /// last LLVM modifying pass to clean up blocks that are not reachable from
   /// the entry block.
   FunctionPass *createUnreachableBlockEliminationPass();
-    
+
   /// MachineFunctionPrinter pass - This pass prints out the machine function to
   /// standard error, as a debugging tool.
   FunctionPass *createMachineFunctionPrinterPass(std::ostream *OS,
@@ -62,19 +62,14 @@ namespace llvm {
   /// 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();
 
-  /// IterativeScanRegisterAllocation Pass - This pass implements the iterative
-  /// scan register allocation algorithm, a global register allocator.
-  ///
-  FunctionPass *createIterativeScanRegisterAllocator();
-
   /// PrologEpilogCodeInserter Pass - This pass inserts prolog and epilog code,
   /// and eliminates abstract frame references.
   ///
@@ -86,11 +81,16 @@ namespace llvm {
   /// branches.
   FunctionPass *createBranchFoldingPass();
 
+  /// DebugLabelFoldingPass - This pass prunes out redundant debug labels.  This
+  /// allows a debug emitter to determine if the range of two labels is empty,
+  /// by seeing if the labels map to the same reduced label.
+  FunctionPass *createDebugLabelFoldingPass();
+
   /// 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);
@@ -98,6 +98,9 @@ namespace llvm {
   //createModuloSchedulingPass - Creates the Swing Modulo Scheduling Pass
   FunctionPass *createModuloSchedulingPass(TargetMachine & targ);
 
+  //createModuloSchedulingPass - Creates the Swing Modulo Scheduling Pass
+  FunctionPass *createModuloSchedulingSBPass(TargetMachine & targ);
+
 } // End llvm namespace
 
 #endif