[llvm-commits] CVS: llvm/include/llvm/CodeGen/MachineFrameInfo.h

Jim Laskey jlaskey at apple.com
Fri Nov 17 13:19:33 PST 2006



Changes in directory llvm/include/llvm/CodeGen:

MachineFrameInfo.h updated: 1.20 -> 1.21
---
Log message:

Hopefully a good crack at making debugging work on intel -disable-fp-elim.


---
Diffs of the changes:  (+17 -1)

 MachineFrameInfo.h |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/CodeGen/MachineFrameInfo.h
diff -u llvm/include/llvm/CodeGen/MachineFrameInfo.h:1.20 llvm/include/llvm/CodeGen/MachineFrameInfo.h:1.21
--- llvm/include/llvm/CodeGen/MachineFrameInfo.h:1.20	Fri Aug 25 17:56:30 2006
+++ llvm/include/llvm/CodeGen/MachineFrameInfo.h	Fri Nov 17 15:19:15 2006
@@ -112,6 +112,14 @@
   ///
   unsigned StackSize;
   
+  /// OffsetAdjustment - The amount that a frame offset needs to be adjusted to
+  /// have the actual offset from the stack/frame pointer.  The calculation is 
+  /// MFI->getObjectOffset(Index) + StackSize - TFI.getOffsetOfLocalArea() +
+  /// OffsetAdjustment.  If OffsetAdjustment is zero (default) then offsets are
+  /// away from TOS. If OffsetAdjustment == StackSize then offsets are toward
+  /// TOS.
+  int OffsetAdjustment;
+  
   /// MaxAlignment - The prolog/epilog code inserter may process objects 
   /// that require greater alignment than the default alignment the target
   /// provides. To handle this, MaxAlignment is set to the maximum alignment 
@@ -148,7 +156,7 @@
   
 public:
   MachineFrameInfo() {
-    NumFixedObjects = StackSize = MaxAlignment = 0;
+    NumFixedObjects = StackSize = OffsetAdjustment = MaxAlignment = 0;
     HasVarSizedObjects = false;
     HasCalls = false;
     MaxCallFrameSize = 0;
@@ -212,6 +220,14 @@
   /// setStackSize - Set the size of the stack...
   ///
   void setStackSize(unsigned Size) { StackSize = Size; }
+  
+  /// getOffsetAdjustment - Return the correction for frame offsets.
+  ///
+  int getOffsetAdjustment() const { return OffsetAdjustment; }
+  
+  /// setOffsetAdjustment - Set the correction for frame offsets.
+  ///
+  void setOffsetAdjustment(int Adj) { OffsetAdjustment = Adj; }
 
   /// getMaxAlignment - Return the alignment in bytes that this function must be 
   /// aligned to, which is greater than the default stack alignment provided by 






More information about the llvm-commits mailing list