Implement -split-spill-mode=size.
[oota-llvm.git] / lib / CodeGen / SplitKit.h
index 5abdd4c62e6a493341c95ba59b87a69d05fd8871..67e80faefa1e3579ac0bf4273518121f3a2a0cfa 100644 (file)
@@ -319,6 +319,14 @@ private:
                         MachineBasicBlock &MBB,
                         MachineBasicBlock::iterator I);
 
+  /// removeBackCopies - Remove the copy instructions that defines the values
+  /// in the vector in the complement interval.
+  void removeBackCopies(SmallVectorImpl<VNInfo*> &Copies);
+
+  /// hoistCopiesForSize - Hoist back-copies to the complement interval in a
+  /// way that minimizes code size. This implements the SM_Size spill mode.
+  void hoistCopiesForSize();
+
   /// transferValues - Transfer values to the new ranges.
   /// Return true if any ranges were skipped.
   bool transferValues();