[llvm-branch-commits] [llvm-branch] r98113 - in /llvm/branches/Apple/Hermes: include/llvm/Target/ lib/CodeGen/ lib/Target/ARM/ lib/Target/Alpha/ lib/Target/Blackfin/ lib/Target/CellSPU/ lib/Target/MSP430/ lib/Target/Mips/ lib/Target/PIC16/ lib/Target/PowerPC/ lib/Target/Sparc/ lib/Target/SystemZ/ lib/Target/X86/ lib/Target/XCore/

Jim Grosbach grosbach at apple.com
Tue Mar 9 16:32:27 PST 2010


Author: grosbach
Date: Tue Mar  9 18:32:27 2010
New Revision: 98113

URL: http://llvm.org/viewvc/llvm-project?rev=98113&view=rev
Log:
merge 98071 98086 98109

Modified:
    llvm/branches/Apple/Hermes/include/llvm/Target/TargetRegisterInfo.h
    llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.cpp
    llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.h
    llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.h
    llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.cpp
    llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.h

Modified: llvm/branches/Apple/Hermes/include/llvm/Target/TargetRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/include/llvm/Target/TargetRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/include/llvm/Target/TargetRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/include/llvm/Target/TargetRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -682,8 +682,9 @@
   /// When -enable-frame-index-scavenging is enabled, the virtual register
   /// allocated for this frame index is returned and its value is stored in
   /// *Value.
+  typedef std::pair<unsigned, int> FrameIndexValue;
   virtual unsigned eliminateFrameIndex(MachineBasicBlock::iterator MI,
-                                       int SPAdj, int *Value = NULL,
+                                       int SPAdj, FrameIndexValue *Value = NULL,
                                        RegScavenger *RS=NULL) const = 0;
 
   /// emitProlog/emitEpilog - These methods insert prolog and epilog code into

Modified: llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.cpp Tue Mar  9 18:32:27 2010
@@ -57,6 +57,7 @@
   const TargetRegisterInfo *TRI = Fn.getTarget().getRegisterInfo();
   RS = TRI->requiresRegisterScavenging(Fn) ? new RegScavenger() : NULL;
   FrameIndexVirtualScavenging = TRI->requiresFrameIndexScavenging(Fn);
+  FrameConstantRegMap.clear();
 
   // Get MachineModuleInfo so that we can track the construction of the
   // frame.
@@ -685,7 +686,7 @@
           // If this instruction has a FrameIndex operand, we need to
           // use that target machine register info object to eliminate
           // it.
-          int Value;
+          TargetRegisterInfo::FrameIndexValue Value;
           unsigned VReg =
             TRI.eliminateFrameIndex(MI, SPAdj, &Value,
                                     FrameIndexVirtualScavenging ?  NULL : RS);
@@ -764,12 +765,12 @@
     unsigned CurrentVirtReg = 0;
     unsigned CurrentScratchReg = 0;
     bool havePrevValue = false;
-    int PrevValue = 0;
+    TargetRegisterInfo::FrameIndexValue PrevValue(0,0);
+    TargetRegisterInfo::FrameIndexValue Value(0,0);
     MachineInstr *PrevLastUseMI = NULL;
     unsigned PrevLastUseOp = 0;
     bool trackingCurrentValue = false;
     int SPAdj = 0;
-    int Value = 0;
 
     // The instruction stream may change in the loop, so check BB->end()
     // directly.
@@ -826,8 +827,11 @@
             if (trackingCurrentValue) {
               SPAdj = (*Entry).second.second;
               Value = (*Entry).second.first;
-            } else
-              SPAdj = Value = 0;
+            } else {
+              SPAdj = 0;
+              Value.first = 0;
+              Value.second = 0;
+            }
 
             // If the scratch register from the last allocation is still
             // available, see if the value matches. If it does, just re-use it.

Modified: llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.h (original)
+++ llvm/branches/Apple/Hermes/lib/CodeGen/PrologEpilogInserter.h Tue Mar  9 18:32:27 2010
@@ -102,7 +102,8 @@
     // When using the scavenger post-pass to resolve frame reference
     // materialization registers, maintain a map of the registers to
     // the constant value and SP adjustment associated with it.
-    typedef std::pair<int, int> FrameConstantEntry;
+    typedef std::pair<TargetRegisterInfo::FrameIndexValue, int>
+      FrameConstantEntry;
     DenseMap<unsigned, FrameConstantEntry> FrameConstantRegMap;
 
 #ifndef NDEBUG

Modified: llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -40,7 +40,7 @@
 #include "llvm/Support/CommandLine.h"
 using namespace llvm;
 
-static cl::opt<bool>
+cl::opt<bool>
 ReuseFrameIndexVals("arm-reuse-frame-index-vals", cl::Hidden, cl::init(true),
           cl::desc("Reuse repeated frame index values"));
 
@@ -1153,7 +1153,7 @@
 
 unsigned
 ARMBaseRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                         int SPAdj, int *Value,
+                                         int SPAdj, FrameIndexValue *Value,
                                          RegScavenger *RS) const {
   unsigned i = 0;
   MachineInstr &MI = *II;
@@ -1205,7 +1205,10 @@
     MI.getOperand(i).ChangeToRegister(FrameReg, false, false, false);
   else {
     ScratchReg = MF.getRegInfo().createVirtualRegister(ARM::GPRRegisterClass);
-    if (Value) *Value = Offset;
+    if (Value) {
+      Value->first = FrameReg; // use the frame register as a kind indicator
+      Value->second = Offset;
+    }
     if (!AFI->isThumbFunction())
       emitARMRegPlusImmediate(MBB, II, MI.getDebugLoc(), ScratchReg, FrameReg,
                               Offset, Pred, PredReg, TII);

Modified: llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/ARM/ARMBaseRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -145,7 +145,7 @@
                                              MachineBasicBlock::iterator I) const;
 
   virtual unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                       int SPAdj, int *Value = NULL,
+                                       int SPAdj, FrameIndexValue *Value = NULL,
                                        RegScavenger *RS = NULL) const;
 
   virtual void emitPrologue(MachineFunction &MF) const;

Modified: llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -33,10 +33,13 @@
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/ADT/BitVector.h"
 #include "llvm/ADT/SmallVector.h"
+#include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
 using namespace llvm;
 
+extern cl::opt<bool> ReuseFrameIndexVals;
+
 Thumb1RegisterInfo::Thumb1RegisterInfo(const ARMBaseInstrInfo &tii,
                                        const ARMSubtarget &sti)
   : ARMBaseRegisterInfo(tii, sti) {
@@ -426,7 +429,7 @@
 
 unsigned
 Thumb1RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                        int SPAdj, int *Value,
+                                        int SPAdj, FrameIndexValue *Value,
                                         RegScavenger *RS) const{
   unsigned VReg = 0;
   unsigned i = 0;
@@ -638,8 +641,10 @@
   } else if (Desc.mayStore()) {
       VReg = MF.getRegInfo().createVirtualRegister(ARM::tGPRRegisterClass);
       assert (Value && "Frame index virtual allocated, but Value arg is NULL!");
-      *Value = Offset;
       bool UseRR = false;
+      bool TrackVReg = true;
+      Value->first = FrameReg; // use the frame register as a kind indicator
+      Value->second = Offset;
 
       if (Opcode == ARM::tSpill) {
         if (FrameReg == ARM::SP)
@@ -648,6 +653,7 @@
         else {
           emitLoadConstPool(MBB, II, dl, VReg, 0, Offset);
           UseRR = true;
+          TrackVReg = false;
         }
       } else
         emitThumbRegPlusImmediate(MBB, II, VReg, FrameReg, Offset, TII,
@@ -658,6 +664,8 @@
         MI.addOperand(MachineOperand::CreateReg(FrameReg, false));
       else // tSTR has an extra register operand.
         MI.addOperand(MachineOperand::CreateReg(0, false));
+      if (!ReuseFrameIndexVals || !TrackVReg)
+        VReg = 0;
   } else
     assert(false && "Unexpected opcode!");
 

Modified: llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/ARM/Thumb1RegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -59,7 +59,7 @@
                              const TargetRegisterClass *RC,
                              unsigned Reg) const;
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
   void emitPrologue(MachineFunction &MF) const;

Modified: llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -153,7 +153,7 @@
 
 unsigned
 AlphaRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                       int SPAdj, int *Value,
+                                       int SPAdj, FrameIndexValue *Value,
                                        RegScavenger *RS) const {
   assert(SPAdj == 0 && "Unexpected");
 

Modified: llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/Alpha/AlphaRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -42,7 +42,7 @@
                                      MachineBasicBlock::iterator I) const;
 
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
   //void processFunctionBeforeFrameFinalized(MachineFunction &MF) const;

Modified: llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -221,7 +221,7 @@
 
 unsigned
 BlackfinRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                          int SPAdj, int *Value,
+                                          int SPAdj, FrameIndexValue *Value,
                                           RegScavenger *RS) const {
   MachineInstr &MI = *II;
   MachineBasicBlock &MBB = *MI.getParent();

Modified: llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/Blackfin/BlackfinRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -65,7 +65,7 @@
                                        MachineBasicBlock::iterator I) const;
 
     unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                 int SPAdj, int *Value = NULL,
+                                 int SPAdj, FrameIndexValue *Value = NULL,
                                  RegScavenger *RS = NULL) const;
 
     void processFunctionBeforeCalleeSavedScan(MachineFunction &MF,

Modified: llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -328,7 +328,8 @@
 
 unsigned
 SPURegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
-                                     int *Value, RegScavenger *RS) const
+                                     FrameIndexValue *Value,
+                                     RegScavenger *RS) const
 {
   unsigned i = 0;
   MachineInstr &MI = *II;

Modified: llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/CellSPU/SPURegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -64,7 +64,7 @@
                                        MachineBasicBlock::iterator I) const;
     //! Convert frame indicies into machine operands
     unsigned eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
-                                 int *Value = NULL,
+                                 FrameIndexValue *Value = NULL,
                                  RegScavenger *RS = NULL) const;
     //! Determine the frame's layour
     void determineFrameLayout(MachineFunction &MF) const;

Modified: llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -207,7 +207,7 @@
 
 unsigned
 MSP430RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                        int SPAdj, int *Value,
+                                        int SPAdj, FrameIndexValue *Value,
                                         RegScavenger *RS) const {
   assert(SPAdj == 0 && "Unexpected");
 

Modified: llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/MSP430/MSP430RegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -50,7 +50,7 @@
                                      MachineBasicBlock::iterator I) const;
 
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
   void emitPrologue(MachineFunction &MF) const;

Modified: llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -355,7 +355,7 @@
 // direct reference.
 unsigned MipsRegisterInfo::
 eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
-                    int *Value, RegScavenger *RS) const
+                    FrameIndexValue *Value, RegScavenger *RS) const
 {
   MachineInstr &MI = *II;
   MachineFunction &MF = *MI.getParent()->getParent();

Modified: llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/Mips/MipsRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -64,7 +64,7 @@
 
   /// Stack Frame Processing Methods
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
   void processFunctionBeforeFrameFinalized(MachineFunction &MF) const;

Modified: llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -53,7 +53,7 @@
 
 unsigned PIC16RegisterInfo::
 eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,
-                    int *Value, RegScavenger *RS) const
+                    FrameIndexValue *Value, RegScavenger *RS) const
 {
   /* NOT YET IMPLEMENTED */
   return 0;

Modified: llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/PIC16/PIC16RegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -49,7 +49,7 @@
   virtual bool hasFP(const MachineFunction &MF) const;
 
   virtual unsigned eliminateFrameIndex(MachineBasicBlock::iterator MI,
-                                       int SPAdj, int *Value = NULL,
+                                       int SPAdj, FrameIndexValue *Value = NULL,
                                        RegScavenger *RS=NULL) const;
 
   void eliminateCallFramePseudoInstr(MachineFunction &MF,

Modified: llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -713,7 +713,7 @@
 
 unsigned
 PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                     int SPAdj, int *Value,
+                                     int SPAdj, FrameIndexValue *Value,
                                      RegScavenger *RS) const {
   assert(SPAdj == 0 && "Unexpected");
 

Modified: llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/PowerPC/PPCRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -67,7 +67,7 @@
   void lowerCRSpilling(MachineBasicBlock::iterator II, unsigned FrameIndex,
                        int SPAdj, RegScavenger *RS) const;
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
   /// determineFrameLayout - Determine the size of the frame and maximum call

Modified: llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -78,7 +78,7 @@
 
 unsigned
 SparcRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                       int SPAdj, int *Value,
+                                       int SPAdj, FrameIndexValue *Value,
                                        RegScavenger *RS) const {
   assert(SPAdj == 0 && "Unexpected");
 

Modified: llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/Sparc/SparcRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -44,7 +44,7 @@
                                      MachineBasicBlock::iterator I) const;
 
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
   void processFunctionBeforeFrameFinalized(MachineFunction &MF) const;

Modified: llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -110,7 +110,7 @@
 
 unsigned
 SystemZRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                         int SPAdj, int *Value,
+                                         int SPAdj, FrameIndexValue *Value,
                                          RegScavenger *RS) const {
   assert(SPAdj == 0 && "Unxpected");
 

Modified: llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/SystemZ/SystemZRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -56,7 +56,7 @@
                                      MachineBasicBlock::iterator I) const;
 
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
 

Modified: llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -581,7 +581,7 @@
 
 unsigned
 X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                     int SPAdj, int *Value,
+                                     int SPAdj, FrameIndexValue *Value,
                                      RegScavenger *RS) const{
   assert(SPAdj == 0 && "Unexpected");
 

Modified: llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/X86/X86RegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -142,7 +142,7 @@
                                      MachineBasicBlock::iterator MI) const;
 
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator MI,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
   void processFunctionBeforeCalleeSavedScan(MachineFunction &MF,

Modified: llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.cpp?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.cpp Tue Mar  9 18:32:27 2010
@@ -173,7 +173,7 @@
 
 unsigned
 XCoreRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
-                                       int SPAdj, int *Value,
+                                       int SPAdj, FrameIndexValue *Value,
                                        RegScavenger *RS) const {
   assert(SPAdj == 0 && "Unexpected");
   MachineInstr &MI = *II;

Modified: llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.h?rev=98113&r1=98112&r2=98113&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.h (original)
+++ llvm/branches/Apple/Hermes/lib/Target/XCore/XCoreRegisterInfo.h Tue Mar  9 18:32:27 2010
@@ -58,7 +58,7 @@
                                      MachineBasicBlock::iterator I) const;
 
   unsigned eliminateFrameIndex(MachineBasicBlock::iterator II,
-                               int SPAdj, int *Value = NULL,
+                               int SPAdj, FrameIndexValue *Value = NULL,
                                RegScavenger *RS = NULL) const;
 
   void processFunctionBeforeCalleeSavedScan(MachineFunction &MF,





More information about the llvm-branch-commits mailing list