Add a hook
[oota-llvm.git] / include / llvm / Target / TargetLowering.h
index 14984790413fafca6d9759fb305ee03a1e567202..58be8a257a75d7c5e8bd280a518335c38459d351 100644 (file)
@@ -333,6 +333,17 @@ public:
   /// implement this.  The default implementation of this aborts.
   virtual SDOperand LowerOperation(SDOperand Op, SelectionDAG &DAG);
 
+  //===--------------------------------------------------------------------===//
+  // Scheduler hooks
+  //
+  
+  // InsertAtEndOfBasicBlock - This method should be implemented by targets that
+  // mark instructions with the 'usesCustomDAGSChedInserter' flag.  These
+  // instructions are special in various ways, which require special support to
+  // insert.  The specified MachineInstr is created but not inserted into any
+  // basic blocks, and the scheduler passes ownership of it to this method.
+  virtual MachineBasicBlock *InsertAtEndOfBasicBlock(MachineInstr *MI,
+                                                     MachineBasicBlock *MBB);
 
 private:
   TargetMachine &TM;