Move the scheduler constructor functions to SchedulerRegistry.h, to
authorDan Gohman <gohman@apple.com>
Mon, 24 Nov 2008 19:53:21 +0000 (19:53 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 24 Nov 2008 19:53:21 +0000 (19:53 +0000)
simplify header dependencies for front-ends that just want to choose
a scheduler and don't need all the scheduling machinery declarations.

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

include/llvm/CodeGen/LinkAllCodegenComponents.h
include/llvm/CodeGen/ScheduleDAGSDNodes.h
include/llvm/CodeGen/SchedulerRegistry.h

index 610d66b3772926e27a1e66f53a06b19bc64a9ad0..07aa8b7fab53d660a466c64e65578f69668a6c71 100644 (file)
@@ -16,7 +16,7 @@
 #define LLVM_CODEGEN_LINKALLCODEGENCOMPONENTS_H
 
 #include "llvm/CodeGen/Passes.h"
-#include "llvm/CodeGen/ScheduleDAGSDNodes.h"
+#include "llvm/CodeGen/SchedulerRegistry.h"
 #include "llvm/CodeGen/GCs.h"
 
 namespace {
index caa1d0a281c35c33618436c49d73d0c510e94c76..e795649153d6bf7669dc0ffda3cc6a33714fb680 100644 (file)
@@ -188,46 +188,6 @@ namespace llvm {
                                 const TargetInstrDesc &II,
                                 DenseMap<SDValue, unsigned> &VRBaseMap);
   };
-
-  /// createBURRListDAGScheduler - This creates a bottom up register usage
-  /// reduction list scheduler.
-  ScheduleDAG* createBURRListDAGScheduler(SelectionDAGISel *IS,
-                                          SelectionDAG *DAG,
-                                          const TargetMachine *TM,
-                                          MachineBasicBlock *BB,
-                                          bool Fast);
-  
-  /// createTDRRListDAGScheduler - This creates a top down register usage
-  /// reduction list scheduler.
-  ScheduleDAG* createTDRRListDAGScheduler(SelectionDAGISel *IS,
-                                          SelectionDAG *DAG,
-                                          const TargetMachine *TM,
-                                          MachineBasicBlock *BB,
-                                          bool Fast);
-  
-  /// createTDListDAGScheduler - This creates a top-down list scheduler with
-  /// a hazard recognizer.
-  ScheduleDAG* createTDListDAGScheduler(SelectionDAGISel *IS,
-                                        SelectionDAG *DAG,
-                                        const TargetMachine *TM,
-                                        MachineBasicBlock *BB,
-                                        bool Fast);
-                                        
-  /// createFastDAGScheduler - This creates a "fast" scheduler.
-  ///
-  ScheduleDAG *createFastDAGScheduler(SelectionDAGISel *IS,
-                                      SelectionDAG *DAG,
-                                      const TargetMachine *TM,
-                                      MachineBasicBlock *BB,
-                                      bool Fast);
-
-  /// createDefaultScheduler - This creates an instruction scheduler appropriate
-  /// for the target.
-  ScheduleDAG* createDefaultScheduler(SelectionDAGISel *IS,
-                                      SelectionDAG *DAG,
-                                      const TargetMachine *TM,
-                                      MachineBasicBlock *BB,
-                                      bool Fast);
 }
 
 #endif
index 84a0fec5741d84ae94fa3e961b5d5bab4e1edfd1..d7e39aecbd346153c74439ab27bb6d7d80754eff 100644 (file)
@@ -31,9 +31,7 @@ class SelectionDAG;
 class MachineBasicBlock;
 
 class RegisterScheduler : public MachinePassRegistryNode {
-
 public:
-
   typedef ScheduleDAG *(*FunctionPassCtor)(SelectionDAGISel*, SelectionDAG*,
                                         const TargetMachine *,
                                         MachineBasicBlock*, bool);
@@ -63,9 +61,48 @@ public:
   static void setListener(MachinePassRegistryListener *L) {
     Registry.setListener(L);
   }
-  
 };
 
+/// createBURRListDAGScheduler - This creates a bottom up register usage
+/// reduction list scheduler.
+ScheduleDAG* createBURRListDAGScheduler(SelectionDAGISel *IS,
+                                        SelectionDAG *DAG,
+                                        const TargetMachine *TM,
+                                        MachineBasicBlock *BB,
+                                        bool Fast);
+
+/// createTDRRListDAGScheduler - This creates a top down register usage
+/// reduction list scheduler.
+ScheduleDAG* createTDRRListDAGScheduler(SelectionDAGISel *IS,
+                                        SelectionDAG *DAG,
+                                        const TargetMachine *TM,
+                                        MachineBasicBlock *BB,
+                                        bool Fast);
+
+/// createTDListDAGScheduler - This creates a top-down list scheduler with
+/// a hazard recognizer.
+ScheduleDAG* createTDListDAGScheduler(SelectionDAGISel *IS,
+                                      SelectionDAG *DAG,
+                                      const TargetMachine *TM,
+                                      MachineBasicBlock *BB,
+                                      bool Fast);
+                                      
+/// createFastDAGScheduler - This creates a "fast" scheduler.
+///
+ScheduleDAG *createFastDAGScheduler(SelectionDAGISel *IS,
+                                    SelectionDAG *DAG,
+                                    const TargetMachine *TM,
+                                    MachineBasicBlock *BB,
+                                    bool Fast);
+
+/// createDefaultScheduler - This creates an instruction scheduler appropriate
+/// for the target.
+ScheduleDAG* createDefaultScheduler(SelectionDAGISel *IS,
+                                    SelectionDAG *DAG,
+                                    const TargetMachine *TM,
+                                    MachineBasicBlock *BB,
+                                    bool Fast);
+
 } // end namespace llvm