Author: evancheng Date: Fri Feb 1 18:17:00 2008 New Revision: 46655 URL: http://llvm.org/viewvc/llvm-project?rev=46655&view=rev Log: Frame index can be negative.
Modified: llvm/trunk/include/llvm/Target/MRegisterInfo.h llvm/trunk/lib/Target/MRegisterInfo.cpp llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp llvm/trunk/lib/Target/X86/X86RegisterInfo.h Modified: llvm/trunk/include/llvm/Target/MRegisterInfo.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/MRegisterInfo.h?rev=46655&r1=46654&r2=46655&view=diff ============================================================================== --- llvm/trunk/include/llvm/Target/MRegisterInfo.h (original) +++ llvm/trunk/include/llvm/Target/MRegisterInfo.h Fri Feb 1 18:17:00 2008 @@ -588,7 +588,7 @@ /// getFrameIndexOffset - Returns the displacement from the frame register to /// the stack frame of the specified index. - virtual int getFrameIndexOffset(MachineFunction &MF, unsigned FI) const; + virtual int getFrameIndexOffset(MachineFunction &MF, int FI) const; /// getRARegister - This method should return the register where the return /// address can be found. Modified: llvm/trunk/lib/Target/MRegisterInfo.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MRegisterInfo.cpp?rev=46655&r1=46654&r2=46655&view=diff ============================================================================== --- llvm/trunk/lib/Target/MRegisterInfo.cpp (original) +++ llvm/trunk/lib/Target/MRegisterInfo.cpp Fri Feb 1 18:17:00 2008 @@ -74,7 +74,7 @@ /// getFrameIndexOffset - Returns the displacement from the frame register to /// the stack frame of the specified index. This is the default implementation /// which is likely incorrect for the target. -int MRegisterInfo::getFrameIndexOffset(MachineFunction &MF, unsigned FI) const { +int MRegisterInfo::getFrameIndexOffset(MachineFunction &MF, int FI) const { const TargetFrameInfo &TFI = *MF.getTarget().getFrameInfo(); MachineFrameInfo *MFI = MF.getFrameInfo(); return MFI->getObjectOffset(FI) + MFI->getStackSize() - Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp?rev=46655&r1=46654&r2=46655&view=diff ============================================================================== --- llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp (original) +++ llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Fri Feb 1 18:17:00 2008 @@ -826,7 +826,7 @@ } int -X86RegisterInfo::getFrameIndexOffset(MachineFunction &MF, unsigned FI) const { +X86RegisterInfo::getFrameIndexOffset(MachineFunction &MF, int FI) const { int Offset = MF.getFrameInfo()->getObjectOffset(FI) + SlotSize; if (!hasFP(MF)) return Offset + MF.getFrameInfo()->getStackSize(); Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.h?rev=46655&r1=46654&r2=46655&view=diff ============================================================================== --- llvm/trunk/lib/Target/X86/X86RegisterInfo.h (original) +++ llvm/trunk/lib/Target/X86/X86RegisterInfo.h Fri Feb 1 18:17:00 2008 @@ -122,7 +122,7 @@ // Debug information queries. unsigned getRARegister() const; unsigned getFrameRegister(MachineFunction &MF) const; - int getFrameIndexOffset(MachineFunction &MF, unsigned FI) const; + int getFrameIndexOffset(MachineFunction &MF, int FI) const; void getInitialFrameState(std::vector<MachineMove> &Moves) const; // Exception handling queries. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits