RemoveBranch() and InsertBranch() now returns number of instructions deleted / inserted.
[oota-llvm.git] / lib / Target / PowerPC / PPCRegisterInfo.h
index 5ca2d7d2a296cbc6f695e920b0c908296c28bd87..0caf1065d03c660f4d0be9cdea0d42439a62031d 100644 (file)
@@ -49,6 +49,9 @@ public:
                     unsigned DestReg, unsigned SrcReg,
                     const TargetRegisterClass *RC) const;
 
+  void reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
+                     unsigned DestReg, const MachineInstr *Orig) const;
+
   /// foldMemoryOperand - PowerPC (like most RISC's) can only fold spills into
   /// copy instructions, turning them into load/store instructions.
   virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, unsigned OpNum,
@@ -76,13 +79,15 @@ public:
   bool usesLR(MachineFunction &MF) const;
   
   void lowerDynamicAlloc(MachineBasicBlock::iterator II) const;
-  void eliminateFrameIndex(MachineBasicBlock::iterator II) const;
+  void eliminateFrameIndex(MachineBasicBlock::iterator II,
+                           int SPAdj, RegScavenger *RS = NULL) const;
 
   /// determineFrameLayout - Determine the size of the frame and maximum call
   /// frame size.
   void determineFrameLayout(MachineFunction &MF) const;
 
-  void processFunctionBeforeCalleeSavedScan(MachineFunction &MF) const;
+  void processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
+                                            RegScavenger *RS = NULL) const;
   void emitPrologue(MachineFunction &MF) const;
   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const;